Checkboxen Font ändern wenn sie auf enabled stehen
-
schau in der BCB-Hife bei TFont und dessen Eigenschaften, dort stehen alle Eigenschaften drin, die man an jedem Font ändern kann, also Name, Farbe, Größe usw...
alternativ hilft ein Blick in den Objektinspektor -> Font, mit dem + aufklappen und die Eigenschaften werden aufgelistet und heissen dann zur Laufzeit auch so
-
schau in der BCB-Hife ...
_____________________________________
DAS WORT LINNEAS: Und es stand geschrieben in der Hilfe zum BCB soll er suchen, bis er fündig ward, oder dem Greisentum anheim fiel."AHA


corvin
-
Es wird dann trotzdem ausgeführt nur man kann sich in diesem Fall nicht dagegen entscheiden. Aber wenn sie farblos sind sieht es so aus als wäre es nicht aktiv´, deshalb will ich das sie in schwarz dargestellt werden. In der Hilfe hab ich nichts gefunden.
-
Entweder du änderts (wie schon erwähnt) die Fontfarbe selber auf schwarz oder du setzt deine Checkboxen auf Panels und deaktivierst die.
-
Probier einfach:
void __fastcall TForm1::Check1Click(TObject *Sender) { Form1->CheckBox1->Checked = false; }[EDIT] falscher code korrigiert
[EDIT2] oder true
(wenn ich's richtig verstanden habe)corvin
-
Sorry die Frage erscheint dir wahrscheinlich unwissend, aber ich hab noch nicht soviel Programmiererfahrung: Was sit ein Panel und wie setze ich meine Checkboxen darauf?
-
Schau mal in die Komponentenpalette deines Builders (Reiter Standard). Da findest du das Panel.
Gib im Index der BCB-Hilfe mal TPanel ein. Hier findest du Informationen dazu.
-
ok, ich hab es jetzt so gemacht, dass ich einen StaticText über den Checkboxen liegen lasse und da kann ich die Farbe einstellen.
Meint ihr das ist ok oder könnten dann irgendwann probleme auftreten mit denen ich jetzt noch nicht rechnen kann.
if(FILINGSYSTEM->Query1->FieldValues["Disabled"] == 1) { //Checkbox[i]->Color = clWindowText; Checkbox[i]->Enabled = false; if (Checkbox[i]->Enabled == false) { //Checkbox[i]->Font->Name = "Lucida Handwriting"; FILINGSYSTEM->StaticText[i]->Left = Checkbox[i]->Left+18; FILINGSYSTEM->StaticText[i]->Top = Checkbox[i]->Top+6; FILINGSYSTEM->StaticText[i]->Caption = Checkbox[i]->Caption; FILINGSYSTEM->StaticText[i]->BringToFront(); FILINGSYSTEM->StaticText[i]->Visible = true; } } else { /*FILINGSYSTEM->StaticText[i]->Left = Checkbox[i]->Left+18; FILINGSYSTEM->StaticText[i]->Top = Checkbox[i]->Top+6; FILINGSYSTEM->StaticText[i]->Caption = Checkbox[i]->Caption; FILINGSYSTEM->StaticText[i]->BringToFront(); FILINGSYSTEM->StaticText[i]->Font->Color = clRed; FILINGSYSTEM->StaticText[i]->Visible = true; */ Checkbox[i]->Enabled = true; }
-
Hallo
der ordentliche Weg wäre, eine Komponente von TCheckBox abzuleiten oder komplett neu erstellen (also von TControl ableiten). Und dann das Zeichenverhalten komplett selber übernehmen.
bis bald
akari
-
warum funktioniert
CheckBox[i]->Font->Color = clRed;nicht? schließlich willst du ja nur die Schriftfarbe der Boxen ändern, die Enabled, also anklickbar sind
und noch etwas:
Checkbox[i]->Enabled = false; if (Checkbox[i]->Enabled == false)ist etwas eigenartig. Du setzt die Box erst auf false und fragst danach gleich ab ob sie auch wirklich false ist?
-
Linnea schrieb:
warum funktioniert
CheckBox[i]->Font->Color = clRed;nicht? schließlich willst du ja nur die Schriftfarbe der Boxen ändern, die Enabled, also anklickbar sind
http://www.c-plusplus.net/forum/viewtopic-var-t-is-154639-and-highlight-is-.html