CWnd::OnSysCommand

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer einen Befehl vom Systemmenü auswählt oder wenn der Benutzer das in oder die minimierensschaltfläche auswählt.

afx_msg void OnSysCommand(
   UINT nID,
   LPARAM lParam 
);

Parameter

  • nID
    Gibt den Typ des Systembefehls angefordert an.Dieser Parameter kann einen der folgenden Werte aufweisen:

    • SC_CLOSE Abschluss das CWnd-Objekt.

    • SC_HOTKEY ermöglichen das CWnd-Objekt, das der anwendungsspezifischen Abkürzungstaste-Steuerelement zugeordnet ist.Das niederwertige Wort aus lParam identifiziert HWND des Fensters, um zu aktivieren.

    • SC_HSCROLL ROLLEN horizontal.

    • SC_KEYMENU rufen ein Menü durch eine Tastatureingabe ab.

    • SC_MAXIMIZE (oder) SC_ZOOM maximieren das CWnd-Objekt.

    • SC_MINIMIZE (oder) SC_ICON minimieren das CWnd-Objekt.

    • SC_MOUSEMENU rufen ein Menü durch einen Mausklick ab.

    • SC_MOVE Verschiebung das CWnd-Objekt.

    • SC_NEXTWINDOW navigieren Sie zu dem folgenden Fenster.

    • SC_PREVWINDOW Verschiebung zum vorherigen Fenster.

    • SC_RESTORE Wiederherstellungsfenster zur Nullposition und für die Größe.

    • SC_SCREENSAVE führt die Bildschirmschoner-Anwendung aus, die im angegebene [Start] Abschnitt der SYSTEM.INI-Datei.

    • SC_SIZE Größe das CWnd-Objekt.

    • SC_TASKLIST führen aus oder aktivieren die Windows Task-Manager-Anwendung.

    • SC_VSCROLL ROLLEN vertikal.

  • lParam
    Wenn ein Systemmenübefehl mit der Maus ausgewählt wird, enthält lParam die Cursor-Koordinaten.Das niederwertige Wort enthält die x-Koordinate, und das höherwertige Wort enthält die y-Koordinate.Andernfalls wird dieser Parameter nicht verwendet.

    • SC_HOTKEY ermöglichen das Fenster, das mit der anwendungsspezifischen Abkürzungstaste-Steuerelement zugeordnet ist.Das niederwertige Wort aus lParam identifiziert das Fenster, um zu aktivieren.

    • SC_SCREENSAVE führen die Bildschirmabwehr Anwendung aus, die im Tischplattenabschnitt der Systemsteuerung angegeben wird.

Hinweise

Standardmäßig wird das OnSysCommand Systemmenüersuchen um die vordefinierten Aktionen durch, die in der vorangehenden Tabelle angegeben werden.

In WM_SYSCOMMAND Meldungen werden die vier niedrigstwertigen Bits des Parameters nID intern von Windows verwendet.Wenn eine Anwendung den Wert von nID testet, muss sie den Wert 0xFFF0 mit dem nID-Wert kombinieren, indem der bitweise Operator AND verwenden, erhält das richtige Ergebnis.

Die Menüelemente in einem Systemmenü können mit GetSystemMenu, AppendMenu, InsertMenu und ModifyMenu-Memberfunktionen geändert werden.Anwendungen, die das Systemmenü ändern, müssen WM_SYSCOMMAND Meldungen und alle WM_SYSCOMMAND Meldungen verarbeiten, die nicht durch die Anwendung bearbeitet werden, müssen zu OnSysCommand an übergeben werden.Alle Befehlswerte, die von einer Anwendung hinzugefügt werden, müssen von der Anwendung verarbeitet werden und können nicht in OnSysCommand übergeben werden.

Eine Anwendung kann einen beliebigen Systembefehl jederzeit durchführen, indem sie eine WM_SYSCOMMAND Meldung zu OnSysCommand übergibt.

Tastatureingaben der Zugriffstaste (Kontextmenü), die definiert werden, um auszuwählen, Elemente aus Systemmenü werden in OnSysCommand Aufrufe übersetzt; alle anderen Zugriffstastentastatureingaben werden in Da WM_COMMAND Meldungen übersetzt.

HinweisHinweis

Diese Memberfunktion wird vom Framework aufgerufen, um die Anwendung zu ermöglichen, eine Windows-Meldung zu bearbeiten.Die Parameter, die an die Funktion übergeben werden, geben die Parameter, die vom Framework empfangen werden, als die Nachricht empfangen wurde.Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung übergeben werden und nicht die Parameter, die an die Funktion bereitstellen.

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWnd-Klasse

Hierarchien-Diagramm

WM_SYSCOMMAND