Also noch mal, ich brauche nur eine Variable oder Eigenschaft mit der prüfen kann, ob der Mauszeiger über einen, durch die TMainMenü generierten, Button zeigt.
Das ganze soll dann so aussehen:
Hier habe ich meinen bisherigen, noch mageren Code:
p2p.lothargeisinger.de/TToolBar.rar
Und hier die relvante Stelle:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.tCustomDrawButton(Sender: TToolBar; Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean); begin
DefaultDraw:=false;
with t do begin
Canvas.Brush.Style:=bsClear; Canvas.TextOut(Button.Left+10, 4, Button.Caption); end; end; |
Der auskommentierte Block ist aus der angesprochenen TXPMenu komponente, welche frei im Internet erhältlist ist. Ich war der Meinung das dies die Codestelle der Komponente sein müsste, die für meinen gesuchten Effekt zuständig sein müsste, allerdings ist dem nicht so.
Meine Frage nochmal: Wie heist die Eigenschaft / Bedingung die ich abfragen muss, um bei einem Button darauf zu reagieren wenn die Maus darüber ist (damit dann der Hintergrund geändert wird)?
(In etwa so: if Button.MouseOver then ...)
Und nein, ich will nicht TXPMenu verwenden. Zum einen will ich das selbst programmieren, zum anderen kann TXPMenu nicht das darstellen was ich haben will.
Kommerzielle Komponenten kommen für mich auch nicht in Frage, da ich diese Lösung für eine Oberfläche meiner Freeware
AutostartAdministrator einsetzen möchte.
Ich hoffe um weitere Antworten und bedanke mich schon mal im voraus.