Hallo needatip,
auch
GUI-Design kennt gewisse Best Practices. Dazu gehört, dass man die zweite CheckBox nicht unsichtbar macht, sondern lediglich disabled. Unsichtbar macht nur dann Sinn, wenn der vom Control eingenommene Raum anderweitig genutzt werden kann.
Und wenn du datensensitive Controls (DBCheckBox) einsetzt, dann manipuliert der Benutzer diese Controls, dein Code aber manipuliert die Feldwerte des Datensatzes direkt.
Delphi-Quellcode:
procedure TDemoForm.CBExportClicked(Sender: TObject);
begin
with Table do
if (State = dsEdit) or (State = dsInsert) then
begin
FieldByName('DRITTLAND').AsBoolean := False;
CBDrittLand.Enabled := CBExport.Checked;
end;
end;
procedure TDemoForm.DataSourceDataChange(Sender: TObject; Field: TField);
begin
if not Assigned(Field) then
CBDrittLand.Enabled := CBExport.Checked;
end;
Freundliche Grüße