Angi eieren trukket-flagg

Du kan ikke definere en eier trukket menyelement i programmets ressurs-definisjonsfil. I stedet må du opprette et nytt menyelement eller endre en eksisterende ved hjelp av MFT_OWNERDRAW menyen flagg.

Du kan bruke InsertMenuItem eller SetMenuItemInfo -funksjonen til å angi en eier trukket menyelementet. Bruk InsertMenuItem til å sette inn et nytt menyelement på den angitte plasseringen på en menylinje eller en meny. Bruk SetMenuItemInfo til å endre innholdet i en meny.

Når du ringer disse to funksjonene, må du angi adressen til en MENUITEMINFO struktur, å gi egenskapene til det nye menyelementet eller egenskapene du vil endre en eksisterende meny-innstilling. Vil gjøre et element angir en eier trukket vare, du MIIM_TYPE verdi for medlemmet fMask og MFT_OWNERDRAW-verdien for medlemmet fType.

Ved å angi de aktuelle medlemmene av MENUITEMINFO -strukturen, kan du knytte en Programdefinert verdi, som kalles varedata, hvert menyelement. For å gjøre så, angi MIIM_DATA-verdien for fMask -medlem og programdefinert verdien for dwItemData -medlem.

Du kan bruke varedata med alle typer menyelementet, men det er spesielt nyttig for eieren trukket elementer. Anta for eksempel at en struktur som inneholder informasjon som brukes til å tegne et menyelement. Et program kan bruke dataene element for et menyelement til å lagre en peker til strukturen. Element-dataene sendes til Eiervinduet som på menyen med WM_MEASUREITEM og WM_DRAWITEM -meldinger. Hvis du vil hente data for listeelement for en meny når som helst, bruk GetMenuItemInfo -funksjonen.

Programmer som er skrevet for tidligere versjoner av systemet kan fortsette å kalle AppendMenu, InsertMenueller ModifyMenu for å tilordne MF_OWNERDRAW-flagget til en eier trukket menyelement.

Når du kaller på noen av disse tre funksjoner, kan du sende en 32-biters verdi som parameteren lpNewItem . Denne verdien kan representere informasjon som gir mening for søknaden, og som vil være tilgjengelige for programmet når elementet er skal vises. Verdien kan for eksempel inneholde en peker til en struktur; strukturen, i sin tur kan inneholde en tekststreng og håndtak til en logisk skrift som programmet vil bruke til å tegne strengen.

Index