CheckBox <edit>in bestimmten Fällen deaktivieren</edit>
-
Hallo,
möchte beim Click auf eine Checkbox ein Editbox überprüfen. Sollte die EditBox einen Wert enthalten, darf das Häckchen in der Checkbox gesetzt werden. Ist kein Wert in der EditBox, muß das setzen des Häckchen unterbunden werden.if (Edit3->Text.IsEmpty()) { CheckBox5->Checked = false; }Ist diese Lösung richtig gewählt ?
Gruß SiegfriedEdit:
Bitte aussagekräftige Überschriften wählen. Danke!
-
Hallo
so ganz wird nicht klar, ob du abhängig vom Text den Wert der Checkbox setzen willst, oder ob du das Setzten des Wertes durch den User unterbinden willst.
Jedenfalls kannst du das so verkürzen.
CheckBox5->Checked = Edit3->Text.IsEmty();bis bald
akari
-
Hallo,
Wenn kein Text in der Editbox existiert, muß die Checkbox deaktiviert sein.
Benötige dies, um weitere Abfragen zu checken.
Gruß Siegfried
-
Na dann deaktiviere sie halt, Stichwort 'Enabled'.
-
Würde ich normalerweise so lösen:
Wenn Standardmäßig das Edit leer ist, sollte die CheckBox dem entsprechend auch auf Enabled=false stehen.
Dann im OnChange des Edits die Zeile von akari.Wenn der Benutzer erst beim Versuch die CheckBox zu ändern merkt, das er das nicht darf, ist dies irgendwie miserabel gelöst.

-
hi
void __fastcall TForm1::Edit1Change(TObject *Sender) { if (Form1->Edit1->Text == "") { Form1->CheckBox1->Enabled = false; } else { Form1->CheckBox1->Enabled = true; } } //---------------------------------------------------------------------------corvin
-
Das kann man etwas kürzer schreiben
void __fastcall TForm1::Edit1Change(TObject *Sender) { CheckBox1->Enabled = !Edit1->Text.IsEmpty(); }
-
öh,
...
aber so ist es verständlicher für jemanden mit 8x sovielen beiträgen wie ich
:p

corvin
-
Das mag sein
. Noch verständlicher wäre es natürlich, wenn du Einrückungen verwenden würdest.