html/browser darstellung in C Applikation
-
ich habe vor in WinApi C eine applikation zu erstellen, die mir links über eine ComboBox verwalten und beim anklicken der links die entsprechende site innerhalb meines fensters darstellt (quasi sowas wie'n embedded browser). es soll dabei wirklich nur bei der darstellung der html-seiten bleiben.
jetzt die frage wie die darstellung zu realisieren ist. ein codebeispiel würde mir da sehr behilflich sein bzw. verweise auf entsprechende msdn-kapitel o.Ä.
(erster blick war die msdn bzw. google (hilft ja bekanntlich immer), aber werd nicht schlau daraus.)
vielen dank schonmal und achja, klasse forum - hat mir schon sehr geholfen^^
-
-
hm naja hatte ich auch schon gefunden; hab aber gehofft dass es auch ein weg ohne COM/OLE gibt...
-
flagg schrieb:
hm naja hatte ich auch schon gefunden; hab aber gehofft dass es auch ein weg ohne COM/OLE gibt...
Nop. Denke nicht, dass es sowas gibt. Da musst Du schon *alles von Hand* machen *g*.
-
wäre vieleicht auch noch ne lösung is aber ActiveX, ATL
[cpp] #include <windows.h> #include <atlbase.h> #include <mshtml.h> #include <exdisp.h> #include "resource.h" HWND hWnd; IWebBrowser2 *pWeb; IAxWinHostWindow* container; int CALLBACK MainDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam); //======================================================== // WinMain() // Program Entry Point //======================================================== int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; CoInitialize(0); hWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_MAIN), 0, MainDlgProc); ShowWindow(hWnd,SW_SHOW); while(GetMessage(&msg,0,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } CoUninitialize(); return 0; } //======================================================== // MainDlgProc() // CALLBACK function von funky main dialog //======================================================== int CALLBACK MainDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam) { CComVariant url, blabla; switch(wMsg) { case WM_INITDIALOG: CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_INPROC_SERVER, IID_IWebBrowser2, (LPVOID*) &pWeb); AtlAxAttachControl(pWeb, GetDlgItem(hDlg,IDC_FRAME),(IUnknown**)&container); ShowWindow(hWnd,SW_SHOW); url = "c:/Temp/tmp.html"; pWeb->Navigate2(&url, &blabla, &blabla, &blabla, &blabla); break; case WM_CLOSE: pWeb->Release(); PostQuitMessage(0); return 0; break; } return 0; }[/cpp]
-
gut danke erstma, werd mir das ma anschaun und mich gegebenenfalls mit COM/OLE beschäftigen
