return -> WndProc
-
Guten Abend zusammen!
Aus der WndProc heraus wird über AboutDlgProc ein Dialog geöffnet bzw. abgefragt.
Sollte IDOK_EXIT gedrückt werden, dann muss sich das ganze Programm beenden.
Wie gebe ich den Wert von IDOK_EXIT wieder an die WndProc zurück?Grüsse,
SotaresBOOL CALLBACK AboutDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch (LOWORD (wParam)) { case IDOK_ABOUT: { EndDialog(hDlg,0); return TRUE; } case IDOK_EXIT: { EndDialog(hDlg,0); return 1; } case IDCANCEL_EXIT: { EndDialog(hDlg,0); return 1; } } break; } return FALSE; }
-
Über den 2. Parameter von EndDialog...
-
Neuerdings ist der Return-Wert einer Dialog-Prozedur i.A. übrigens INT_PTR CALLBACK (wg. der 64-Bit Kompatibilität). Ob das für Dich nun relevant ist, oder nicht, musst Du natürlich selbst entscheiden
.
-
Danke für die Hilfestellung, nun läuft es!
In der AboutDlgProc
case IDOK_EXIT: { EndDialog(hDlg,(wParam)); return TRUE; }In der WndProc
case ID_EXIT: { if(DialogBox(hInst, TEXT("Exit"), hWnd, AboutDlgProc)==IDOK_EXIT) { SendMessage(hWnd,WM_CLOSE,0,0); } }Mit freundlichen Grüssen,
Sotares