[WIN] DialogBox - conversion from int to const CHAR

Harrier

Erfahrenes Mitglied
Sers, Leute! Ich hab ein Problem:
Ich hab nach einigem herumarbeiten ein sehr schönes Menu hinbekommen. Nun will ich einige simple DialogBoxen machen. Dazu hab ich mir ein Tutorial genommen und mir das durchgelesen. Darin kommt auch folgender Befehl vor
MakeProcInstance (DialogProc, hDlgInstance)
DialogProc ist die Dialogbox-Fkt. und hDlgInstance ist eine globale Kopie der HINSTANCE die an WinMain übergeben wird (also der erste Parameter). Wenn ich das ganze kompiliere bekomme ich folgenden Fehler:
invalid conversion from `int' to `const CHAR*'
Ich hab alles logische und vieles unlogische was mir eingefallen ist ausprobiert. Ich hab weitere Tutorials gesucht, da war das Problem aber fast nirgends richtig erklärt. Menus werden anscheinend fast nur mit Tools gemacht den Tutorials nach zu urteilen.

Eigentlich ist das so gedacht dass ich MakeProcInstance (DialogProc, hDlgInstance) in einen FARPROC-Pointer speichern, und diesen dann an die Funktion übergeben. Das funktioniert aber noch weniger! Ich hoffe hier kann mir jemand helfen! Ich danke im Vorraus

cYa
 
Re: [WIN] DialogBox - converstion from in to const CHAR

MakeProcInstance brauchst du nicht in Win32. Das ist nur wegen der Kompatibilität zu Win16.

Wo du den Compilerfehler bekommst habe ich leider nicht ganz verstanden. Da solltest du die Code-Stelle zeigen.
 
Re: [WIN] DialogBox - converstion from in to const CHAR

Sorry aber ich bin noch absoluter was Windows-Programmierung angeht.
Also:
Code:
124            if( DialogBox (hDlgInstance, ID_DIALOG, hwnd, 
125            MakeProcInstance (DialogProc, 
126            hDlgInstance) )  ) 
127                        InvalidateRect (hwnd, NULL, TRUE);
Die Fehlermeldung in 126: invalid conversion from `int' to `const CHAR*'
also das hDlgInstance. Ich hab keine Ahnung was ich noch machen soll. Hab schon alles Mögliche probiert.
 
Re: [WIN] DialogBox - converstion from in to const CHAR

Du mußt den ID_DIALOG über MAKEINTRESOURCE "laden"!

Aufruf zum Öffnen des Dialogs:
Code:
DialogBox(hDlgInstance, MAKEINTRESOURCE(ID_DIALOG), hwnd, MsgDlg);

Natürlich sollte eine entsprechende Dialog-Prozedur definiert sein, um Interaktionen des Dialogs zu verarbeiten:
Code:
BOOL _stdcall MsgDlg(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
...
}
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück