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


Anmelden zum Antworten