hier nochmal ein kurzes Code snipsel:
Dialog ist mit der ID: IDD_DIALOG_ID definiert und gesetzt wurden.
nun zuerst unsere Message-Funktion:
|
Quellcode
|
1
|
INT_PTR CALLBACK LCDialogProc(HWND hDlg, unsigned int uiMsg, WPARAM WParam, LPARAM LParam);
|
dann der eigentliche Teil:
|
Quellcode
|
1
2
3
4
5
|
int Result;
Result = (int)(DialogBox(hInstance,
MAKEINTRESOURCE(IDD_DIALOG_ID),
NULL,
LCDialogProc));
|
mit
|
Quellcode
|
1
|
GetLastError()
|
kannst du evtle Fehler beim erstellen des Dialoges finden. Nach DialogBox(...) aufrufen!
dann musst du noch die MessageFunktion definieren:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
INT_PTR CALLBACK LCDialogProc(HWND hDlg, unsigned int uiMsg, WPARAM WParam, LPARAM LParam) {
switch(uiMsg) {
case WM_INITDIALOG:
/*...*/
case WM_CLOSE:
EndDialog(hDlg, 1);
break;
case WM_COMMAND:
/*...*/
break;
default:
return false;
};
return true;
}
|
und wohla -- da ist unser Dialog ohne MFC
die 1 bei EndDialog gibt an, was DialogBox zurückliefert. Das kann man definieren. Z.B. 1 == Dialog beendet, 2 == Dialog abgebrochen .....
hier ist ne Seite:
http://www.win-api.de/ die das eigentlich ganz gut erklärt... ich weis aber nicht ob da auch Dialoge dabei sind
[/url]