Guybrush Threepwood Geschrieben 29. Oktober 2002 Geschrieben 29. Oktober 2002 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 Zitieren
Guybrush Threepwood Geschrieben 29. Oktober 2002 Autor Geschrieben 29. Oktober 2002 :rolleyes: Uups:D Ist aber trotzdem NULL, also kein Fehler Zitieren
Klotzkopp Geschrieben 29. Oktober 2002 Geschrieben 29. Oktober 2002 Hast Du die .rc-Datei dem Projekt unter "Source Files" hinzugefügt? Zitieren
Guybrush Threepwood Geschrieben 29. Oktober 2002 Autor Geschrieben 29. Oktober 2002 ja ,hab ich und die resource.h included , sonst würde er ja nen Fehler bringen das er IDD_DOWNLOAD nicht kennt. Zitieren
Klotzkopp Geschrieben 29. Oktober 2002 Geschrieben 29. Oktober 2002 Ich hab das hier mal nachgebaut, und es funktioniert. Was liefert GetLastError denn zurück? Zitieren
Guybrush Threepwood Geschrieben 29. Oktober 2002 Autor Geschrieben 29. Oktober 2002 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] Zitieren
Cool-Matthias Geschrieben 29. Oktober 2002 Geschrieben 29. Oktober 2002 Hi, versuch mal bei der WM_INITDIALOG eine 1 oder TRUE zurückzugeben. Zitieren
Klotzkopp Geschrieben 29. Oktober 2002 Geschrieben 29. Oktober 2002 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] Zitieren
Guybrush Threepwood Geschrieben 29. Oktober 2002 Autor Geschrieben 29. Oktober 2002 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: Zitieren
Klotzkopp Geschrieben 29. Oktober 2002 Geschrieben 29. Oktober 2002 InitCommonControlsEx aufgerufen? Zitieren
Guybrush Threepwood Geschrieben 29. Oktober 2002 Autor Geschrieben 29. Oktober 2002 Jetzt gehts. Danke! Gruß Guybrush Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.