Button Farbe usw. ändern.

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Andy Nightingale
Beiträge: 130
Registriert: Mo 13. Jan 2025, 12:11

Button Farbe usw. ändern.

Beitrag von Andy Nightingale »

Hallo Leute,
ich bekomme es einfach nicht gebacken das ein normaler Button sich die Schriftfarbe ändert. Obwohl ich es angegeben habe.
Habe ich etwas falsch installiert?
Auch würde ich einen mehrfach Image Button erstellen. Man drückt drauf und es ändert sich die Farbe. Dazu habe ich 4 kleine Bilder für verschiedene Zustände.
Der Hauptbutton sieht so aus. Es ist in PNG.
b11.jpg
b11.jpg (8.97 KiB) 3650 mal betrachtet
b22.jpg
b22.jpg (2.17 KiB) 3650 mal betrachtet
Grüße

wp_xyz
Beiträge: 5095
Registriert: Fr 8. Apr 2011, 09:01

Re: Button Farbe usw. ändern.

Beitrag von wp_xyz »

Andy Nightingale hat geschrieben: Mi 12. Mär 2025, 17:57 ich bekomme es einfach nicht gebacken das ein normaler Button sich die Schriftfarbe ändert. Obwohl ich es angegeben habe.
Habe ich etwas falsch installiert?
Viele Property-Einstellungen, die mit Farben zu tun haben, werden ignoriert, weil sie vom Betriebssystem gesteuert werden. Unter Windows (11) kann ich die Schriftfarbe bei TButton nicht ändern, sehr wohl aber bei TBitBtn und TSpeedButton. Kann aber bei Linux/mac wieder anders sein.
Andy Nightingale hat geschrieben: Mi 12. Mär 2025, 17:57 Auch würde ich einen mehrfach Image Button erstellen. Man drückt drauf und es ändert sich die Farbe. Dazu habe ich 4 kleine Bilder für verschiedene Zustände.
Leider ist das hochgeladenen Bild kein png, sondern ein jpeg mit etwas "Umfeld", so dass ich dir kein Beispiel machen kann. Trotzdem: Beim TBitBtn und TSpeedButton kannst du das Bild in die Glyph-Property laden und vorher die Eigenschaft NumGlyphs auf 4 setzen - das heißt, dass dein Bild vier Button-Zustände enthält. In der doc (wiki, Hilfe?) steht irgendwo, welchem Zustand jeweils die Bilder zugeordnet sind.

Falls die Zuordnung nicht passt, kannst du stattdessen eine TImageList aufs Formular klatschen, Width und Height auf die Größe der Einzelbilder anpassen und dann das 4er-Bild mit dem Befehl "Zerteilen und hinzufügen" ("Add sliced") in den ImageList-Editor laden. Aus der Größe des gesamten Bildes und der der Einzelnbilder errät die Komponente dann, wie die Einzelbilder dann extrahiert werden können. Das Index des "normale" Icons (0?) trägst du in die Button-Eigenschaft "ImageIndex" ein, den des "clicked"-Icons in "PressedImageIndex", den des "hovered"-Icons in "HotImageIndex" und den des "disabled"-Icons in "DisabledImageIndex". Und natürlich muss die ImageListe unter "Images" eingetragen sein.

wennerer
Beiträge: 606
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Button Farbe usw. ändern.

Beitrag von wennerer »

Hallo Andy,
falls es dich nicht stört eine fremde Komponente zu nehmen kannst du mal meinen MultiButton testen.
Infos zu meinen MultiButton findest du hier:

viewtopic.php?t=14033

Viele Grüße
Bernd

Andy Nightingale
Beiträge: 130
Registriert: Mo 13. Jan 2025, 12:11

Re: Button Farbe usw. ändern.

Beitrag von Andy Nightingale »

wp_xyz hat geschrieben: Mi 12. Mär 2025, 18:26
Andy Nightingale hat geschrieben: Mi 12. Mär 2025, 17:57 ich bekomme es einfach nicht gebacken das ein normaler Button sich die Schriftfarbe ändert. Obwohl ich es angegeben habe.
Habe ich etwas falsch installiert?
Viele Property-Einstellungen, die mit Farben zu tun haben, werden ignoriert, weil sie vom Betriebssystem gesteuert werden. Unter Windows (11) kann ich die Schriftfarbe bei TButton nicht ändern, sehr wohl aber bei TBitBtn und TSpeedButton. Kann aber bei Linux/mac wieder anders sein.
Andy Nightingale hat geschrieben: Mi 12. Mär 2025, 17:57 Auch würde ich einen mehrfach Image Button erstellen. Man drückt drauf und es ändert sich die Farbe. Dazu habe ich 4 kleine Bilder für verschiedene Zustände.
Leider ist das hochgeladenen Bild kein png, sondern ein jpeg mit etwas "Umfeld", so dass ich dir kein Beispiel machen kann. Trotzdem: Beim TBitBtn und TSpeedButton kannst du das Bild in die Glyph-Property laden und vorher die Eigenschaft NumGlyphs auf 4 setzen - das heißt, dass dein Bild vier Button-Zustände enthält. In der doc (wiki, Hilfe?) steht irgendwo, welchem Zustand jeweils die Bilder zugeordnet sind.

Falls die Zuordnung nicht passt, kannst du stattdessen eine TImageList aufs Formular klatschen, Width und Height auf die Größe der Einzelbilder anpassen und dann das 4er-Bild mit dem Befehl "Zerteilen und hinzufügen" ("Add sliced") in den ImageList-Editor laden. Aus der Größe des gesamten Bildes und der der Einzelnbilder errät die Komponente dann, wie die Einzelbilder dann extrahiert werden können. Das Index des "normale" Icons (0?) trägst du in die Button-Eigenschaft "ImageIndex" ein, den des "clicked"-Icons in "PressedImageIndex", den des "hovered"-Icons in "HotImageIndex" und den des "disabled"-Icons in "DisabledImageIndex". Und natürlich muss die ImageListe unter "Images" eingetragen sein.
Hallo WP.- wäre echt cool mit dem Beispiel.- Warte mal....hoffentlich ist das so richtig. Grüße und Danke:
Play.png
Play.png (5.01 KiB) 3604 mal betrachtet
Kann man noch irgendwie Dateien Anhängen???

Andy Nightingale
Beiträge: 130
Registriert: Mo 13. Jan 2025, 12:11

Re: Button Farbe usw. ändern.

Beitrag von Andy Nightingale »

wennerer hat geschrieben: Mi 12. Mär 2025, 18:29 Hallo Andy,
falls es dich nicht stört eine fremde Komponente zu nehmen kannst du mal meinen MultiButton testen.
Infos zu meinen MultiButton findest du hier:

viewtopic.php?t=14033

Viele Grüße
Bernd
Hallo Bernd.- super. Krass das du das selbst erstellt hast. Ich werde es gerne testen. Danke sehr :D

wp_xyz
Beiträge: 5095
Registriert: Fr 8. Apr 2011, 09:01

Re: Button Farbe usw. ändern.

Beitrag von wp_xyz »

Anbei ein Beispiel mit ImageList (Bei der Verwendung von Glyph werden die Einzelbilder nicht richtig getrennt. Normalerweise sind die nebeneinander, bei dir untereinander - ich hätte gedacht, dass das keine Rolle spielt).
Dateianhänge
btn-glyph.zip
(6.65 KiB) 58-mal heruntergeladen

Mathias
Beiträge: 6849
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Button Farbe usw. ändern.

Beitrag von Mathias »

ich bekomme es einfach nicht gebacken das ein normaler Button sich die Schriftfarbe ändert. Obwohl ich es angegeben habe.
Wen du GTK2 verwendest, kann dieser Trick angewendet werden.

viewtopic.php?p=146708&hilit=color#p146708

Bei GTK2 ändert sich auch die Schriftfarbe, wen ich einfach Button1.Font.Color:=$FF mache
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Andy Nightingale
Beiträge: 130
Registriert: Mo 13. Jan 2025, 12:11

Re: Button Farbe usw. ändern.

Beitrag von Andy Nightingale »

wp_xyz hat geschrieben: Mi 12. Mär 2025, 19:21 Anbei ein Beispiel mit ImageList (Bei der Verwendung von Glyph werden die Einzelbilder nicht richtig getrennt. Normalerweise sind die nebeneinander, bei dir untereinander - ich hätte gedacht, dass das keine Rolle spielt).
Hallo WP.- coole Idee. Danke für deine Arbeit. Hilft mir sehr weiter. :D

Andy Nightingale
Beiträge: 130
Registriert: Mo 13. Jan 2025, 12:11

Re: Button Farbe usw. ändern.

Beitrag von Andy Nightingale »

Mathias hat geschrieben: Mi 12. Mär 2025, 20:06
ich bekomme es einfach nicht gebacken das ein normaler Button sich die Schriftfarbe ändert. Obwohl ich es angegeben habe.
Wen du GTK2 verwendest, kann dieser Trick angewendet werden.

viewtopic.php?p=146708&hilit=color#p146708

Bei GTK2 ändert sich auch die Schriftfarbe, wen ich einfach Button1.Font.Color:=$FF mache
Super. Klasse Ideen. Da kann man sich ja richtig austoben 8)

Mathias
Beiträge: 6849
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Button Farbe usw. ändern.

Beitrag von Mathias »

Super. Klasse Ideen. Da kann man sich ja richtig austoben 8)
Ich code momentan mit nativen GTK4, da hat man fast endlose Möglichkeiten, was die Gestaltung anbelangt. Stichwort CSS.
Nur GTK4 gibt es (noch) nicht in der LCL.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Andy Nightingale
Beiträge: 130
Registriert: Mo 13. Jan 2025, 12:11

Re: Button Farbe usw. ändern.

Beitrag von Andy Nightingale »

Mathias hat geschrieben: Do 13. Mär 2025, 16:58
Super. Klasse Ideen. Da kann man sich ja richtig austoben 8)
Ich code momentan mit nativen GTK4, da hat man fast endlose Möglichkeiten, was die Gestaltung anbelangt. Stichwort CSS.
Nur GTK4 gibt es (noch) nicht in der LCL.
GTK wasn das? Hab noch nie davon gehört. Muß mal Googeln.-danke

Mathias
Beiträge: 6849
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Button Farbe usw. ändern.

Beitrag von Mathias »

GTK wasn das? Hab noch nie davon gehört. Muß mal Googeln.-danke
Einfach gesagt, ein Widget Set, was meisten unter Linux verwendet wird. Unter Windows findet es man auch, ist aber nicht so verbreitet.
https://de.wikipedia.org/wiki/GTK_(Programmbibliothek)
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6849
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Button Farbe usw. ändern.

Beitrag von Mathias »

Doppelpost
Zuletzt geändert von Mathias am Fr 14. Mär 2025, 17:31, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6849
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Button Farbe usw. ändern.

Beitrag von Mathias »

wp_xyz hat geschrieben: Mi 12. Mär 2025, 18:26
Andy Nightingale hat geschrieben: Mi 12. Mär 2025, 17:57 ich bekomme es einfach nicht gebacken das ein normaler Button sich die Schriftfarbe ändert. Obwohl ich es angegeben habe.
Habe ich etwas falsch installiert?
Viele Property-Einstellungen, die mit Farben zu tun haben, werden ignoriert, weil sie vom Betriebssystem gesteuert werden. Unter Windows (11) kann ich die Schriftfarbe bei TButton nicht ändern, sehr wohl aber bei TBitBtn und TSpeedButton. Kann aber bei Linux/mac wieder anders sein.

Irgendwie ist die komisch, das es ausgerecht in GTK2 ignoriert wird.

Code: Alles auswählen

  Button1.Color:=clRed;
Dabei unterstützt GTK2 dies. viewtopic.php?p=146708&hilit=color#p146708
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten