er hurtigmenyen åpner? Bruke WM_MENUSELECT melding av skjemaet vil ikke arbeide for å sjekke ifthe popup er åpen. Rett og slett fordi den overordnede av popup er ikke theform (sjekk popup metoden TPopupMenu). En løsning er å usethe api kalle deg: type TForm1 = klasse (TForm) ... prosedyre FormMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState, X, Y: Integer); privat IsMenuOpen: Boolean; Prosedyren WMMENUSELECT (var budskapet: TWMMENUSELECT); Meldingen WM_MENUSELECT; prosedyre TForm1.WMMENUSELECT (var budskapet: TWMMENUSELECT), begynner arvet; IsMenuOpen: = ikke ((message.MenuFlag og $ FFFF > 0) og (message.Menu = 0)); ende; prosedyre TForm1.FormMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState, X, Y: Integer ); begynne hvis Button = mbRight deretter med ClientToScreen (Point (X, Y)) gjøre TrackPopupMenuEx (PopupMenu1.Handle, TPM_LEFTALIGN, X, Y, Self.Handle, null); end; Anmeldelser
Er popup-meny åpen?
Previous:? Dynamiske popup menus
Next Page:? Tips for menyen items