Schwarze Welten bei den Button's ???

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Schwarze Welten bei den Button's ???

Beitrag von BernhardDEL »

Hi zusammen. 8)

Wie ihr ja wisst bin ich ein "Frischling" bezüglich Lazarus. :shock:

Ich würde gerne die Farben meiner Button, Radio-group usw. ändern.
Doch ganz gleich, was ich auch versuche - die Farbe bleibt immer schwarz.
Unter Umständen ist das sehr übel und passt nicht wirklich in das Gesamtbild.

Hat da jemand einen Tipp, wie ich die Farbe (und sei es nur die der Caption) ändern kann :?:

Bernhard

AndreasMR
Beiträge: 98
Registriert: Di 4. Aug 2015, 15:29
OS, Lazarus, FPC: Linux, Raspbian, Windows
CPU-Target: 64/32 Bit

Re: Schwarze Welten bei den Button's ???

Beitrag von AndreasMR »

Hallo Bernhard,

lasse Dir Deine programmierte GUI über F12 anzeigen. Dann klickst Du den Button an. Im Objektinspektor wählst Du Color und wählst Dir aus der Liste z.B. den Eintrag der gewünschten Farbe aus.

Fertig.

Beste Grüße

Andreas
Zuletzt geändert von AndreasMR am Sa 18. Feb 2017, 23:17, insgesamt 1-mal geändert.
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0

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

Re: Schwarze Welten bei den Button's ???

Beitrag von Mathias »

Es gibt mehrer Komponenten, das hat die Eigenschaft Color keinen Einfluss, da die OS abhängig sind.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Schwarze Welten bei den Button's ???

Beitrag von Aliobaba »

... und auch unter Linux und Windows verhalten sich die Farben der Buttons unterschiedlich:
viewtopic.php?f=18&t=8152
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Schwarze Welten bei den Button's ???

Beitrag von BernhardDEL »

Mathias hat geschrieben:Es gibt mehrer Komponenten, das hat die Eigenschaft Color keinen Einfluss, da die OS abhängig sind.


Das ist aber gelinde gesagt "doof". Wieso gibt es dann die Einstellungen "Font" und "Color" ? Die hätte man sich sparen können.
Oder muss man da einfacher nur tiefer ins System eingreifen ?
Vielleicht sollte ich da einfacher nur ein Feld drüber legen und dann mit "Visible" hin und her schalten. Macht aber schon viel mehr Arbeit, stöhn.

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

Re: Schwarze Welten bei den Button's ???

Beitrag von itjump »

BernhardDEL hat geschrieben:
Mathias hat geschrieben:Es gibt mehrer Komponenten, das hat die Eigenschaft Color keinen Einfluss, da die OS abhängig sind.


Das ist aber gelinde gesagt "doof". Wieso gibt es dann die Einstellungen "Font" und "Color" ? Die hätte man sich sparen können.
Oder muss man da einfacher nur tiefer ins System eingreifen ?
Vielleicht sollte ich da einfacher nur ein Feld drüber legen und dann mit "Visible" hin und her schalten. Macht aber schon viel mehr Arbeit, stöhn.


Ja, das ist dumm gelöst bei Lazarus. Aber eine Lösung des Problems wäre, wenn es dir nur um Farbige Buttons geht, einfach Labels zu verwenden, die lassen sich Färben und mit ein wenig Trickserei sehen die aus wie Buttons.

LG
ITjump

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Schwarze Welten bei den Button's ???

Beitrag von Michl »

BernhardDEL hat geschrieben:Wieso gibt es dann die Einstellungen "Font" und "Color" ? Die hätte man sich sparen können.
Da die LCL soweit wie möglich nativ sein soll, ist das Verhalten gut so. Im Objektinspektor kann man in dem Reiter "Bedingte Eigenschaften" nachsehen, welches Widgetset welche Properties nicht unterstützt.

Willst du Buttons haben, die nicht dem OS entsprechen, kannst du diverse Buttons aus verschiedenen Komponentensammlungen nehmen, die selbst gezeichnet werden.

Z.B.:
TCDButton vom LCL Package customdrawn
TBCButton vom externen Package BGRAControls

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten