Setarea proprietarului-trase de pavilion

Nu pot defini un element de meniu proprietarul-trase din resurse-definiție a aplicației. În schimb, trebuie să creați un nou articol de meniu sau să modifice unul deja existent utilizând meniul MFT_OWNERDRAW de pavilion.

Aveți posibilitatea să utilizați InsertMenuItem sau SetMenuItemInfo funcție pentru a specifica un element de meniu-trase de proprietar. Utilizați InsertMenuItem pentru a insera un nou element de meniu, la poziția specificată în bara de meniuri sau meniu. Utilizați SetMenuItemInfo pentru a schimba conținutul de un meniu.

Atunci când aceste două funcții de asteptare, trebuie să specificați adresa o structură MENUITEMINFO , oferindu-proprietățile elementul de meniu noi sau proprietăți pe care doriți să modificați un element de meniu existent. Pentru a face un element un proprietar-trase articol, specificați valoarea MIIM_TYPE pentru membre fMask și valoarea MFT_OWNERDRAW pentru membre fType.

Prin setarea corespunzătoare membrii structura MENUITEMINFO , aveți posibilitatea să asociați o valoare definită de cerere, care este numit element de date, cu fiecare element de meniu. Pentru a face acest lucru, specificați valoarea MIIM_DATA pentru membre fMask și valoarea definite de aplicare pentru membru dwItemData.

Aveți posibilitatea să utilizați date articol cu orice tip de element de meniu, dar este deosebit de util pentru proprietarul-trase elemente. De exemplu, să presupunem că o structură conține informații utilizate pentru a desena un element de meniu. Cererea poate utiliza datele element pentru un element de meniu pentru a stoca un indicator a structurii. Date articol este trimis la din meniul Fereastră proprietar cu mesajele WM_MEASUREITEM și WM_DRAWITEM . Pentru a regăsi datele element pentru un meniu în orice moment, utilizați funcția GetMenuItemInfo.

Cereri scrise pentru versiuni anterioare de sistem poate continua pentru a apela AppendMenu, InsertMenusau ModifyMenu pentru a asocia pavilion MF_OWNERDRAW la un element de meniu-trase de proprietar.

Când apelați oricare dintre aceste trei func?ii, pot trece o valoare de 32-bit ca parametrul lpNewItem . Această valoare poate reprezenta orice informații care este semnificativ la cererea dumneavoastră, care vor fi disponibile la cererea dumneavoastră atunci când elementul este pentru a fi afișate. De exemplu, valoarea ar putea conține un indicator spre o structură; structura, la rândul său, ar putea conține un șir de text și mâner pentru un font logice care aplicația va folosi pentru a desena șirul.

Index