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.)
Menuitem Focus Event
-
- 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
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...
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;
-
- 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
In der Menus.tMenuItem Class sind leider außer OnClick auch keine weiteren Events dargestellt.
-
- 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
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...
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;
-
- 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
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.