Menuitem Focus Event

Rund um die LCL und andere Komponenten
Antworten
Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Menuitem Focus Event

Beitrag von Martin V »

Hallo,

ich möchte einen Event erhalten, wenn der Benutzer mit der (gedrückten) Maus ein Menuitem anwählt, ohne zu klicken. Viele Programme zeigen dann in einer Textleiste Kommentartext dazu an. Ich finde aber bei tMenuItem nur einen OnClick Event. Wie geht das? (Die Menuitems erzeuge ich im Programm, nicht über die Ressource.)

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Menuitem Focus Event

Beitrag von MAC »

hast du dir mal TMenuItem angeschaut , in der unit Menus.
Einfach strg+klick darauf.

Mir fällt gerade ein Trick ein.
Wenn du 3 horizonalte MenuItems hast und jedes hat mind ein vertikales.
Dann kannst du ja prüfen ob das Vertikale Sichtbar ist. Wenn das Vertikale sichtbar ist muss man mit der Maus drüber gegangen ,bzw makiert haben...

Code: Alles auswählen

Signatur := nil;

Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Re: Menuitem Focus Event

Beitrag von Martin V »

In der Menus.tMenuItem Class sind leider außer OnClick auch keine weiteren Events dargestellt.

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Menuitem Focus Event

Beitrag von MAC »

Ich habs gerad auch gesehen.
Du kannst aber ein Timer erstellen und mit IsVisible oder so drübergehen. Auch wenns nicht gerade schön ist...

Code: Alles auswählen

Signatur := nil;

Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Re: Menuitem Focus Event

Beitrag von Martin V »

Hmm, der Timer Event wäre tatsächlich eine Notlösung, wenn es eine 'Focused' oder ähnliches Property gäbe, die es aber auch nicht gibt (nur bei von tControl abgeleiteten Objekten). In Delphi gibt es auch nur den OnClick Event. Ich komme von WDsibyl, und dort gibt es einen OnItemFocus Event, der genau das macht. Ich werde nun im englischen Forum unter Anregungen einmal die Sache darstellen und hier berichten. Für viele Programme wäre diese Funktion wirklich sinnvoll.

Antworten