WM_SYSCOMMAND

O fereastră prime?te acest mesaj când utilizatorul alege o comandă din meniul fereastră (cunoscut anterior ca meniul de sistem sau control) sau atunci când utilizatorul alege butonul Maximizare, Minimizare butonul, restabili buton sau aproape buton.

WM_SYSCOMMAND uCmdType = wParam;        / / tipul de comandă de sistem solicitat xPos = LOWORD(lParam);    / / poziție orizontală, în ecran coordonează yPos = HIWORD(lParam);    / / coordonează pozi?ia verticală, în ecranul 

 

Parametrii

uCmdType
Specifică tipul de comandă de sistem solicitate. Acest parametru poate fi una dintre următoarele valori.
Valoarea Sensul
SC_CLOSE Închide fereastra.
SC_CONTEXTHELP Modificări cursorul la un semn de întrebare cu un indicator. În cazul în care utilizatorul face clic apoi un control în caseta de dialog, controlul primește un mesaj de WM_HELP.
SC_DEFAULT Selectează elementul prestabilit; utilizatorul a făcut dublu clic din meniul fereastră.
SC_HOTKEY Activează fereastra asociate cu aplicarea-specificate tastă. Cuvântul low-ordine lParam identifică fereastra pentru a activa.
SC_HSCROLL Defilează pe orizontală.
SC_KEYMENU Preia din meniul fereastră ca urmare a unei taste.
SC_MAXIMIZE Maximizează fereastra.
SC_MINIMIZE Minimizează fereastra.
SC_MONITORPOWERnbsp; & nbsp; Setează starea de afișare. Această comandă acceptă aparatele care au caracteristici de economisire de energie, cum ar fi un calculator personal baterie-puternic.

lParam poate avea următoarele valori:

1 înseamnă ecranul este mergi la a redus de energie.

2 înseamnă ecranul este being shut off.

SC_MOUSEMENU Preia din meniul fereastră de un clic de maus.
SC_MOVE Se mută fereastra.
SC_NEXTWINDOW Se mută în fereastra următoare.
SC_PREVWINDOW Se mută la fereastra anterioară.
SC_RESTORE Restabilește fereastra pozi?ia normală și dimensiunea.
SC_SCREENSAVE Execută aplicarea economizorul de ecran specificat în secțiunea [Cizme] a sistemului.Fișierul INI.
SC_SIZE Dimensionează fereastra.
SC_TASKLIST Activează meniul Start.
SC_VSCROLL Defilează vertical.

xPos
Specifică pozi?ia orizontală a cursorului, în ecran coordonate, dacă o comandă de meniu a ferestrei este selectat cu mouse-ul. Altfel, parametrul xPos nu este utilizat.
yPos
Specifică pozi?ia verticală cursorului, în ecran coordonate, dacă o comandă de meniu a ferestrei este selectat cu mouse-ul. Acest parametru este –1 Dacă comanda este ales folosind un accelerator de sistem, sau zero în cazul în care folosind un mnenomic.

Valorile întroarse

Cererea trebuie să returnați zero dacă procesele de acest mesaj.

Observații

Funcția DefWindowProc efectuează fereastra meniul cererea pentru acțiunile predefinite specificate în tabelul anterior.

În WM_SYSCOMMAND mesaje, patru biți low-ordinea de parametrul uCmdType sunt utilizate intern de sistem. Pentru a ob?ine rezultat corect la valoarea de uCmdTypede testare, cererea trebuie să combine valoarea 0xFFF0 cu valoarea uCmdType utilizând operatorul AND la nivel de bi?i.

Elementele de meniu în meniul o fereastră pot fi modificate prin utilizarea GetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuItem, și SetareElementMeniu funcții. Cererile care modifica din meniul fereastră trebuie să prelucreze WM_SYSCOMMAND mesaje.

Cererea poate efectua orice sistem de comandă în orice moment prin care trece un mesaj WM_SYSCOMMAND pentru DefWindowProc. Orice mesaje WM_SYSCOMMAND nu sunt gestionate de aplica?ia trebuie trecut a DefWindowProc. Orice valori de comandă adăugate de către o cerere trebuie să fie prelucrate prin aplicarea și nu poate fi trecut la DefWindowProc.

Accelerator chei care sunt definite pentru a alege elementele din meniul fereastră sunt traduse în mesaje WM_SYSCOMMAND; toate alte taste accelerator sunt traduse în WM_COMMAND mesaje.

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winuser.h.

A se vedea, de asemenea

Claviatură Accelerators prezentare, tastatură Accelerator mesaje, Power Management prezentare, AppendMenu, DefWindowProc, GetSystemMenu, InsertMenu, ModifyMenu, WM_COMMAND

Index