Adăugarea unei comenzi la un meniu sistem de ferestre, capitolul 1 al ferestrei, citiți on-line, fara inregistrare
Adăugarea unei comenzi într-un meniu sistem de ferestre
Notă meniul drop-down când faceți clic pe pictograma ferestrei. În acest sistem elementele de meniu sunt de obicei prezente, efectua operațiuni standard pe fereastra, cum ar fi de închidere, minimizarea, maximizarea, și altele. Pentru a accesa acest meniu, există caracteristici speciale, care face posibil să-l folosească pentru propriile lor scopuri.
Pentru a obține o fereastră de meniu sistem de mâner (HMENU), utilizați API-funcția GetSystemMenu, și pentru a adăuga elementul la meniu - funcția AppendMenu. Un exemplu al procedurii, se adaugă elemente la sistemul de meniuri, așa cum se arată în Listing 1.26.
Procedura TForm1.FormCreate (Expeditor: TObject);
var hSysMenu: HMENU;
hSysMenu: = GetSystemMenu (mâner, fals);
AppendMenu (hSysMenu, MF_SEPARATOR, 0, '');
AppendMenu (hSysMenu, MF_STRING, 10001, "Creșterea cu 20%);
AppendMenu (hSysMenu, MF_STRING, 10002, 'Scăderea de 20%');
Ca urmare a acestui cod al meniului de sistem Form1 va fi similar cu meniul prezentat în Fig. 1.18.
Fig. 1.18. comandă personalizată din meniul de sistem
Dar nu este suficient pentru a crea doar o comandă de meniu - aveți nevoie pentru a asigura manipularea alegerea lor. Acest lucru se face în posturile handler WM_SYSCOMMAND (Listing 1.27).
Procedura TForm1.WMSysCommand (var Mesaj: TWMSysCommand);
dacă Message.CmdType = 10001 atunci
altceva dacă Message.CmdType = 10002, atunci
// implicită de procesare
DefWindowProc (mâner, Message.Msg, Message.CmdType, 65536 * Message.YPos + Message.XPos);
Rețineți că valorile numerice trecut la funcția Append-meniu este utilizat pentru a determina ce fel de punktmenyu selectat. Meniurile pentru a lucra într-un mod standard, toate provenind de la comanda lui să fie procesată. Prin urmare, pentru toate echipele, răspunsul la care nu este încorporat în handler realizat, handler implicit se numește (funcția DefWindowProc).