Dialogbox und Resourcen
-
Hallo,
ich weiß, dass es schon viele Beiträge zu diesem Thema gegeben hat, aber ich finde leider nirgendwo eine Antwort auf mein Problem.
Ich habe ein Programm geschrieben, das ein Hauptfenster erzeugt, in dem man durch einen Click eine Dialogbox aufrufen kann. Das Hauptfenster erscheint, wenn ich jetzt aber klicke passiert gar nichts, jedoch ist mein Programm nach Aufruf der Funktion DialogBox() in der zweiten CALLBACK Funktion, die für die Dialogbox sein sollte, das habe ich durch eine einfache Messagebox in der zweiten CALLBACK Funktion geprüft. Also das Programm "bearbeitet" die Nachrichten, zeigt aber keine Dialogbox an. Den resource Header habe ich auch eingebunden und beide, das resource file selber und der resource Header sind im Projekt enthalten. Ich weiß echt nicht mehr weiter und es muss doch eine Möglichkeit geben das ohne MFC hinzubekommen oder?
Danke schonmal,
Silent_S
-
Welcher Compiler und welche IDE kommen zum Einsatz?
Sollte der Borland free BCC5.5 die Exe erstellen wird er in diesen Fällen
meist falsch angesteuert. Das Resultat ist beim Compilieren wird kein Fehler
angezeigt. Aber die Dialogbox wird nicht oder nicht korrekt dargestellt.Bisher hab ich dies nur mit handerstellten Makefiles oder mit der Projekt-
erstellung der VIDE hingekriegt. Also der Compiler kann dies, muss nur richtig
angesteuert werden. Ich müsste aber auf einem anderen Rechner nachsehen wo
der Haken war. Aber poste erst mal welcher Compiler vorliegt.Sollte dies nicht Compilerspezifische Ursachen haben brauchen wir den
Quelltext.MfG f.-th.
-
Ich benutze Visual Studio 2000.
-
Silent_S schrieb:
Ich benutze Visual Studio 2000.
Was soll denn das sein? Gibt es definitiv nicht...
Beispiele zu Dialog-Boxen hast Du Dir aber angeschaut, oder?
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/dialogboxes/usingdialogboxes.aspDie callback muss irgendwie so aussehen:
BOOL CALLBACK GoToProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) { BOOL fError; switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: return TRUE; case IDCANCEL: DestroyWindow(hwndDlg); return TRUE; } } return FALSE; }
-
Oh, ok Visual Studio 6.0. Sorry

-
RESULT CALLBACK DlgProc(HWND dialogh, UINT message, WPARAM wparam, LPARAM lparam) { switch(message) { case WM_INITDIALOG: return TRUE; case WM_CLOSE: EndDialog(dialogh,0); break; case WM_COMMAND: { switch(wparam) { case IDCLOSE: EndDialog(dialogh,0); break; default: return FALSE; } } } return TRUE; }So sieht es bis jetzt aus, aber weitere Commands einfügen lohnt sich nicht, bis es funktioniert...
-
hier ist mal ein simples bsp. an dem du dich orientieren kannst.
http://www.winapi.net/index.php?inhalt=tipp2
-
Ok, nachdem ich mich jetzt überzeugen konnte, dass es wohl am Quelltext liegen muss, begebe ich mich jetzt mal noch gründlicher auf Fehlersuche

Trotzdem danke an alle
Silent_S
-
Um den Beitrag hier mit einer Lösung zu beenden, es lag an einem "falschen" resource file. Also allen denen das jetzt auch passiert => resource file neu gestalten. Fragt mich jetzt bitte nicht warum das so ist.
Silent_S