Veröffentlicht 29. Oktober 200222 j Hi, ich hab mit dem Resourceneditor in MSVC++6 einen Dialog erstellt und will diesen als Hauptfenster benutzen. Seltsamerweise funktioniert das nicht. Hier mein ansatz: APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG Msg; hMainWindow = CreateDialog(hInstance,MAKEINTRESOURCE IDD_DOWNLOAD), 0,MainProc); if (hMainWindow = NULL) int i = GetLastError(); ShowWindow(hMainWindow,nCmdShow); while(GetMessage(&Msg,0,0,0)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } return Msg.wParam; } [/PHP] Es tritt kein Fehler auf, aber es wird auch kein Dialog angezeigt. Gruß Guybrush
29. Oktober 200222 j Autor ja ,hab ich und die resource.h included , sonst würde er ja nen Fehler bringen das er IDD_DOWNLOAD nicht kennt.
29. Oktober 200222 j Ich hab das hier mal nachgebaut, und es funktioniert. Was liefert GetLastError denn zurück?
29. Oktober 200222 j Autor Das liefert Null zurück, vielleichts liegts ja an der MainProc: BOOL CALLBACK MainProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch(Msg) { case WM_DESTROY: { EndDialog(hWnd,0); PostQuitMessage(0); return 0; } } return 0; } [/PHP]
29. Oktober 200222 j Also, das hier läuft: #include <windows.h> #include "resource.h" HWND hMainWindow; INT_PTR CALLBACK MainProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { switch( uMsg ) { case WM_COMMAND: switch( wParam ) { case IDCANCEL: PostQuitMessage( 0 ); break; default: break; } break; default: break; } return 0; } APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG Msg; hMainWindow = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1 ), 0, MainProc); ShowWindow(hMainWindow,nCmdShow); while(GetMessage(&Msg,0,0,0)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } return Msg.wParam; } [/CODE]
29. Oktober 200222 j Autor Ich hab mal deinen Code ausprobiert Klotzkopp und es hat auch nicht geklappt, bis ich einen anderen Dialog erstellt habe. Mit dem gings dann. In meinem IDD_DOWNLOAD befindet sich eine Progress Bar und wenn ich die weg mache, dann gehts, sobald ich sie wieder rein gehts nicht mehr:confused:
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.