Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Schaltfläche (Button) Farbe ändern bei klick


swbo - Mo 03.07.06 11:34
Titel: Schaltfläche (Button) Farbe ändern bei klick
Hallo,

wie kann man bewerkstelligen, dass wenn ich auf eine Schaltfläche klicke, dann diese die Farbe ändert? Danke.


Moderiert von user profile iconUGrohne: Topic aus Sonstiges (Delphi) verschoben am Mo 03.07.2006 um 12:19


digi_c - Mo 03.07.06 12:42

Du gehst in das OnClickEriegnis des Button und weißt ihm darin eine neue Farbe zu z.B


Delphi-Quelltext
1:
2:
3:
4:
procedure form1_Button1_klick(Sender:TObject);
begin
  Button1.Font.Colour:=clRed;
end;


swbo - Di 04.07.06 19:30

Sorry, das scheint aber so nicht zu funktionieren. Jedenfalls bei mir nicht. Gibt es nicht die Möglichkeit - TButton die Eigenschaft Color zu verpassen?


Hack Gott - Di 04.07.06 19:33

Verwend einfach keinen Button! Das ist einfacher! Benutz ein Label.

Zum obigen Code, der ändert nur die Schriftfarbe, nicht den Button.


swbo - Di 04.07.06 19:44

Danke, ist auch'ne Idee ...

Ich habe auch was gefunden ...

http://www.delphipraxis.net/topic71030_wie+binde+ich+diesen+code+ein+colorbutton.html&highlight=button+color


digi_c - Mi 05.07.06 09:50

Stimmt die Hintergrundfarbe war glaube ich bei TSpeedbuttoneinfacher zu ändern.


swbo - Mi 05.07.06 14:12

Mh..? Die Eigenschaft "Color" fehlt aber auch bei TSpeedButton1.


alias5000 - Mi 05.07.06 14:18

TSpeedButton1 gibts nicht. Entweder SpeedButton1 als Variable oder die Klasse TSpeedButton


digi_c - Di 11.07.06 08:44

Ich muss gestehen, dass ich bei keiner xyz StandartButton Komponente eine Eigenschaft Colouroder BackColourgefunden habe. Aber ich weiß, das das mal ging und zwar ohne Tricks, man musste aber noch irgendwo was umstelllen...


_frank_ - Di 11.07.06 11:54

man kann auch ein TPanel nehmen, und ggf. im mousedown/up bevelouter/bevelinner setzen um den 3d-klickeffekt hinzubekommen. Farben ändern geht auch ;)
evtl. leitet man sich ne eigene klasse davon ab um MouseEnter und MouseLeave noch hinzuzufügen.

Gruß Frank


digi_c - Mi 12.07.06 09:31

Ja aber nativ unterstützen die Buttons (also die Win32 Common Controls) das nicht? Ich meinte unter VB wäre das immer ganz einfach gewesen :-/