Minimieren-Schaltfläche



  • Hi,

    wie kann ich auf die Minimieren-Schalfläche rechts oben in jedem Fenster zugreifen? Also z.B. ne MessageBox beim minimieren anzeigen.



  • Auf Dialogfeld basierende Anwendung mit Minimieren-Schaltfläche erzeugen, Funktion für Nachricht WM_SIZE einfügen, SIZE_MINIMIZED abfragen:

    void CMinimizeDlg::OnSize(UINT nType, int cx, int cy) 
    {
        CDialog::OnSize(nType, cx, cy);
    
        if ( nType == SIZE_MINIMIZED ) MessageBox("Minimiert");  
    }
    

    That's it. 😉



  • Nicht schlecht. Danke.



  • 2. Möglichkeit:
    WM_SYSCOMMAND abfangen und auf SC_MINIMIZE überprüfen.
    Hierbei muss nicht bei jeder WM_SIZE-Message auf SIZE_MINIMIZED abgeprüft werden



  • hi,

    ich habe diesen beitrag gefunden und habe es ausprobiert. d.h. ich habe die funktion

    afx_msg void OnSize(UINT nType,int cx,int cy);

    in meinem header deklariert und rufe sie in CTestDlg.cpp auf.

    void CRegEditDlg::OnSize(UINT nType, int cx, int cy)
    {
    CDialog::OnSize(nType, cx, cy);

    if (nType ==SIZE_MINIMIZED)
    MessageBox("fghjk");

    }

    aber irgendwie kommt das programm da nich vorbei wenn ich die minimieren-taste drücke. in der msdn steht, dass das framework beim drücken der taste automatisch die OnSize aufruft. mache ich etwas falsch?



  • sorry, meine finger waren schneller als mein kopf. ich habs jetzt.

    ich musste noch ON_WM_SIZE() eintragen

    trotzdem danke!


Anmelden zum Antworten