Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie kann man die Farbe einer Checkbox ändern? (https://www.delphipraxis.net/55095-wie-kann-man-die-farbe-einer-checkbox-aendern.html)

emsländer 16. Okt 2005 20:39


Wie kann man die Farbe einer Checkbox ändern?
 
Moin,

vielleicht sehe ich den Wald vor lauter Bäumen nicht, aber auch die Suche brachte kein Ergebnis.

Ich möchte die Farbe einer Checkbox ändern. Und zwar die, wo man den Haken reinmacht und nicht aussen rum oder die Schrift.

Die Frage ist wie?

Gruss

EL

marabu 16. Okt 2005 21:05

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Moin EL,

ist dir bekannt, dass die Farbeinstellung für die kleine CheckBox dieselbe ist, die auch die Farbe von TEdit, TStringGrid und so ziemlich allen anderen Window-Controls steuert? Es ist die Farbe, die du unter Desktop|Eigenschaften|Darstellung|Fenster einstellst. Und diese Farbe wird vom Benutzer deines Programms verwaltet, mitunter vom Admin - aber nicht von dir!

Freundliche Grüße vom marabu

emsländer 16. Okt 2005 21:07

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Zitat:

Zitat von marabu
Moin EL,

ist dir bekannt, dass die Farbeinstellung für die kleine CheckBox dieselbe ist, die auch die Farbe von TEdit, TStringGrid und so ziemlich allen anderen Window-Controls steuert? Es ist die Farbe, die du unter Desktop|Eigenschaften|Darstellung|Fenster einstellst. Und diese Farbe wird vom Benutzer deines Programms verwaltet, mitunter vom Admin - aber nicht von dir!

Freundliche Grüße vom marabu

Das ist bekannt. Ich möchte das aber "auftrennen".

Hintergund: Ich habe in meiner Applikation sogenannte Pflichtfelder, die ich farbig anders unterlegt habe.
Und dazu gehören auch einige Checkboxen und Radiobuttons.

Gruss

EL

marabu 16. Okt 2005 21:30

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Mein Tag ist um, aber noch ein Tip: die CheckBox ist wohl ein combi control. Versuche mal, ob du das handle des windows bekommst, welches die kleine Box repräsentiert.

marabu

Union 16. Okt 2005 21:35

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Damit das Ganze sauber läuft, wirst Du wohl eine eigene Komponente dafür erstellen müssen, denn die Standard-Checkbox liefert auch keinerlei Events, um in den Paint Process eingreifen zu können. Ein schönes Beispiel mit Sourcecode findest Du hier Torry Xp Controls

marabu 17. Okt 2005 06:28

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Moin EL,

ich habe mal etwas näher drauf geschaut und festgestellt, dass die CheckBox ein button control ist. Da würde es eventuell ausreichen eine Komponente von TCheckBox abzuleiten und deren CreateParams-Methode zu überschreiben, um ihr den style BS_OWNERDRAW zu verpassen. Aber vielleicht erfüllt ja der "russische" Code, den Union verlinkt hat, deine Anforderungen und du bist schon fertig.

Grüße vom marabu

emsländer 17. Okt 2005 09:11

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Zitat:

Zitat von marabu
Moin EL,

ich habe mal etwas näher drauf geschaut und festgestellt, dass die CheckBox ein button control ist. Da würde es eventuell ausreichen eine Komponente von TCheckBox abzuleiten und deren CreateParams-Methode zu überschreiben, um ihr den style BS_OWNERDRAW zu verpassen. Aber vielleicht erfüllt ja der "russische" Code, den Union verlinkt hat, deine Anforderungen und du bist schon fertig.

Grüße vom marabu

Habe versucht die zuvor genannte Komponente einzubauen. Er meckert irgendwas von vcl30.. an ..

Gruss

EL

Sharky 17. Okt 2005 09:20

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Hai EL,

die DPK die in dem Archiv dabei ist wurde wohl für Delphi3 erstellt. Du musst im requires Teil stehende VCL durch die für deine Delphiversion (vcl90 für d2005) ersetzen.

emsländer 17. Okt 2005 09:35

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Zitat:

Zitat von Sharky
Hai EL,

die DPK die in dem Archiv dabei ist wurde wohl für Delphi3 erstellt. Du musst im requires Teil stehende VCL durch die für deine Delphiversion (vcl90 für d2005) ersetzen.

Hi Sharky,

auch das klappt irgendwie nicht. Hab dort jetzt


requires
vcl90;

contains
xpButton,
xpCheckBox;

end.

stehen, aber auch da meckert er die vcl90 an :gruebel:


Gruss

EL

emsländer 17. Okt 2005 09:46

Re: Wie kann man die Farbe einer Checkbox ändern?
 
Zitat:

Zitat von emsländer
Zitat:

Zitat von Sharky
Hai EL,

die DPK die in dem Archiv dabei ist wurde wohl für Delphi3 erstellt. Du musst im requires Teil stehende VCL durch die für deine Delphiversion (vcl90 für d2005) ersetzen.

Hi Sharky,

auch das klappt irgendwie nicht. Hab dort jetzt


requires
vcl90;

contains
xpButton,
xpCheckBox;

end.

stehen, aber auch da meckert er die vcl90 an :gruebel:



Gruss

EL

Problem ist gelöst. DAS:

requires
rtl,
vcl;
contains
xpButton,
xpCheckBox;

end.

musste dort rein.

Nun mal testen, ob das Ding genau das ist, was ich brauche ;-)



Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz