Hauptfenster minimiert sich beim schließen des Dialoges
-
Der Titel sagt eigentlich alles. Ich habe ein Dialogfenster erstellt (modal), nur wenn ich es schließe Wird das Hauptfenster minimiert, weiß jemand woran das liegen könnte?
DialogProc:
BOOL CALLBACK ZielPfadProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { LIST_DATEN temp; deque<LIST_DATEN>::iterator i; switch (msg) { case WM_INITDIALOG: //iter = *(deque<LIST_DATEN>::iterator*) lParam; SetDlgItemText(hwnd, IDC_EDT1,"C:\\"); return true; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_BTN1: i = liste.end(); i--; i->recvPfad = GetDlgItemStr(hwnd, IDC_EDT1, 255); MessageBox(0,i->recvPfad.c_str(),0,0); //*iter = temp; DestroyWindow (hwnd); return true; default: break; } return false; case WM_CLOSE: case WM_DESTROY: EndDialog (hwnd, 0); return true; } return false; }Erstellen des Dialoges:
DialogBoxParam(hinstance, MAKEINTRESOURCE(IDD_DLG1), GetParent(hwnd), ZielPfadProc,0);Danke im voraus
-
hatte ich auch schonmal, mit WS_POPUP konnte ich es lösen.
aber deine dlgproc sieht eh nicht so gelungen aus. DestroyWindow brauchst du nicht, EndDialog reicht. für WM_DESTROY kannst du auch EndDialog rausnehmen. und der rückgabetyp ist INT_PTR.
-
Der Code ist nach dem Vorbild von www.winapi.net, ich werde das mit WS_POPUP gleich mal ausprobieren.
-
Es liegt nicht an WS_POPUP, aber wenn man WS_DESTROY weglässt und DestroyWindow() durch EndDialog ersetzt, geht es.
thk