mfc - Windows Menu: MF\_HILITE flag ryddes ikke

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har CMenu-instans, hvor jeg tilføjer flere elementer. For et af de elementer, jeg tilføjede i det, satte jeg MF\_HILITE-flagget.


Når jeg viser menuen, bliver det korrekte element lyst korrekt, som ønsket. Problemet er, at det forbliver hi-lighted, indtil jeg flytter musen over det og forlader. Jeg vil kun have ét element til at blive højlyst på det tidspunkt. Det ser ud til, at Windows ikke slukker det, når et andet emne er i høj grad.


Hvordan kunne jeg tvinge det til at blive tændt, så snart et andet emne får højlyset? Jeg kunne ikke finde nogen tilbagevenden eller besked til menuen, og jeg kunne heller ikke finde en ugyldig.

Bedste reference


Du bruger MF\_HILITE på en underlig måde. Elementet er ikke markeret, det er lige trukket som det er. Hvis brugeren trykker på, vælges det 'fremhævede' emne ikke.


Du søger sandsynligvis MF\_DEFAULT.

Andre referencer 1


Det ser ikke ud til at være muligt.


Den interne tilstand for det aktuelt valgte emne i menuen kan ikke indstilles. Ved hjælp af MF\_HILITE eller HiliteMenuItem indstilles ikke det aktuelt valgte emne, det indstiller kun den visuelle stil.


Som et arbejde har jeg brugt en popup ListBox i stedet, som har alle de funktioner, jeg har brug for.