X oben in der Ecke abfabgen (SC_CLOSE)



  • Hallo, ich lese mich gerade etwas ein und möchte


    Ecke nochmal mit einer Abfrage versehen.

    Jetzt hab ich bereits gefunden, dass man wohl auf WM_SYSCOMMAND und
    dann wiederum SC_CLOSE prüfen muss.

    Ich nehme an das muss ich in der CDialog::OnSysCommand erledigen?
    Bin mir nicht sicher wie genau man das angeht.

    Kann jemand helfen?


  • Mod

    WM_CLOSE behandeln....



  • CSimpleDialogDlg.h

    // erstmal OK + Cancel rausschmeissen
    	virtual void OnOK() {}
    	virtual void OnCancel() {}
    	// dein rotes Kreuzchen und ESC abfangen
    	afx_msg void OnClose();
    

    CSimpleDialogDlg.cpp

    BEGIN_MESSAGE_MAP(CSimpleDialogDlg, CDialog)
    	ON_WM_CLOSE()
    END_MESSAGE_MAP()
    
    void CSimpleDialogDlg::OnClose()
    {
    	if( AfxMessageBox( _T("Really?"), MB_OKCANCEL ) == IDOK )
    		CDialog::OnOK();
    	else
    	{
    		// Mach irgendwas
    		return;
    	}
    }
    

Anmelden zum Antworten