Dialog startet, wird aber nicht angezeigt
-
Hallo zusammen,
ich hab eine Win32-Anwendung, wo nach dem Start einfach eine Dialogbox mit dem Text "Bitte warten" angezeigt werden soll.
Nun Resourcendatei existiert und ich bekomm die Dialogbox auch gestartet, jedoch kann ich mir die DialogBox nicht anschauen. Es werden absolut keine Elemente bzw noch nicht mal der Rahmen angezeigt.
Das Programm muss leider in Ansi C geschrieben werden.
Zur Zeit hab ich folgendes gemacht ( nur der Ausschnitt der mit dem Dialog zu tun hat):
int PASCAL WinMain(HINSTANCE xHInst, HINSTANCE xHInstPrev, LPSTR xLpstrCmdLine, int iCmdShow) { InitCommonControls(); hDialog = CreateDialog(xHInst, MAKEINTRESOURCE(IDD_WORKDIALOG), NULL, DlgWorkDialog); ShowWindow(hDialog, SW_SHOWNORMAL); ... EndDialog(hDialog, ERROR_SUCCESS); }
Da ich für den Dialog keine Messages auswerten muss ist, sieht mein DlgProc so aus:
LRESULT CALLBACK DlgWorkDialog( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { return FALSE; }
Ich hab auch nichts im Forum gefunden, das jemand schonmal so ein Problem hatte.
Eure Hilfe wäre nett.
Schonmal Danke
Damion
-
ich würde mal daruf tippen, daß in der Resource Datei das Flag WS_VISIBLE nicht gesetzt ist. Bei Modalen Dialogen wird es glaube ich automatisch gesetzt. Was auf jedenfall falsch ist, ist die Anweisung EndDialog, die nur in Modalen Dialogen und innerhalb der Dialogprozedur aufgerufen werden darf.
Modeless Dialoge werden mit DestroyWindow gelöscht.