In VC++ 6.0 Dialogfeld basierte MFC-Anwendung: Ich möchte nicht, dass mein Benutzer das Fenster durch Drücken der Schaltfläche [X] in der rechten oberen Ecke des Fensters und auch (Alt + F4). Ich möchte eine messageBox anzeigen ("Möchten Sie die Anwendung wirklich schließen"); Wenn der Benutzer auf die Schaltfläche OK klickt, muss die Anwendung geschlossen werden. Wenn der Benutzer auf die Schaltfläche ABBRECHEN klickt, darf die Anwendung nicht geschlossen werden.Schließen Schaltfläche in der Titelleiste in MFC
Antwort
Sie müssen OnClose()
implementieren und nur die Basisklasse OnClose()
aufrufen, wenn Sie beenden möchten.
Behandeln Sie die Nachricht WM_SYSCOMMAND
und tun Sie so etwas darin.
void CMyApp::OnSysCommand(UINT nID, LPARAM lParam)
{
if(nID == SC_CLOSE)
{
if(MessageBox(_T("Really"), _T("What"), MB_YESNO) == IDYES);
//Do What you want here.
else
//Do something else
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
Hier ist, wie WM_SYSCOMMAND Handler, um Ihren Code hinzuzufügen:
Zum Klassenansicht. Klicken Sie mit der rechten Maustaste auf Ihre Dialogklasse, wenn es sich um eine dialogbasierte Anwendung handelt ODER Ihre Mainframe-Klasse, wenn es sich um eine SDI/MDI-Anwendung handelt. Klicken Sie auf Eigenschaften.
Klicken Sie im Eigenschaftenfenster auf die Schaltfläche Nachrichten. Scrollen Sie nach unten zu WM_SYSCOMMAND und doppelklicken Sie in der Drop-Down-Combo, um den Handler hinzuzufügen.
ODER
Sie können es auch manuell tun, indem Sie einen Eintrag in der Meldungszuordnung hinzufügen. Und fügen Deklaration/Definition in .h/.cpp hinzu.
- 1. So entfernen Sie die Schließen-Schaltfläche aus einer MFC-Titelleiste
- 2. Zeichnen auf der Titelleiste in MFC
- 3. GWT Schaltfläche "Schließen" in der Titelleiste der DialogBox
- 4. Deaktivieren Sie die Schaltfläche "Schließen" in der Titelleiste eines WPF-Fensters (C#)
- 5. Wie zum Deaktivieren/Verbergen/Entfernen Schließen (x) Schaltfläche der Eigenschaftsseite in MFC?
- 6. Windows 10 Univeral App - Schaltfläche in der Titelleiste funktioniert nicht
- 7. Text in der Titelleiste
- 8. Schließen Schaltfläche ausblenden statt schließen
- 9. Wie wird das Symbol in der QDockWidget Titelleiste angezeigt?
- 10. Entfernen Titelleiste ohne die Kreuz-Schaltfläche von jQuery Dialogfeld
- 11. Schließen Sie den laufenden Editor von meiner Anwendung in MFC
- 12. Hinzufügen einer Schaltfläche zu der Titelleiste mit Substanz LAF
- 13. Körper Schaltfläche Schließen
- 14. Schaltflächen in der Titelleiste des Fensters
- 15. Ladesymbol in der Titelleiste der Aktivität anzeigen
- 16. hinzufügen Schließen Schaltfläche
- 17. Hinzufügen von Schließen Schaltfläche in Listbox
- 18. deaktivieren Schließen-Schaltfläche in JQuery UI-Dialog
- 19. ausblenden schließen Schaltfläche „X“ in Fancybox
- 20. Schaltfläche zum Schließen in der rechten Seite von jQuery Dialog
- 21. Schließen des Videofensters mit der Schaltfläche "X" in OpenCV, Python
- 22. Wie deaktivieren Sie die Schaltfläche Maximieren in MFC?
- 23. Schaltfläche "X" in Swing entfernen JDialog
- 24. Titelleiste in Gnome entfernen
- 25. Wie man Hilfe '?' in der Titelleiste von Winform
- 26. wie ImageButton in der Titelleiste hinzufügen
- 27. Titelleiste fehlt in NSOpenPanel?
- 28. Schließen einer Schaltfläche auf QTabWidget
- 29. Hinzufügen von Schaltflächen zu einem Werkzeugfenster Titelleiste
- 30. ReactJS Dialog mit Schließen-Schaltfläche
OnSysCommand (UINT nID, LPARAM lParam) wie Sie diese Member Function zu meiner Anwendung hinzufügen. bitte ich bin neu in VC++ –
diese Option ist in .net, aber ich benutze VC++ 6.0, in VC++ 6.0, wenn Sie mit der rechten Maustaste auf Dialogfeld Klasse der Dialog-basierte Anwendung gibt es keine Option wie Eigenschaften. besser werde ich manuell versuchen, aber Sory, Sie zu fragen, ich weiß nicht, wie man manuell hinzufügt, wenn Schritte geben, die es zu mir nützlich ist. –
Wow, es funktioniert gut, danke Aamir final Ich habe das Ergebnis –