LCL: check box: call OnChange/OnClick notify events on State change. Issue #33076

git-svn-id: trunk@57155 -
This commit is contained in:
ondrej 2018-01-27 12:57:44 +00:00
parent 96d01f3f8f
commit de8a470231

View File

@ -24,11 +24,21 @@
Set new state of the checkbox.
------------------------------------------------------------------------------}
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
var
OldState: TCheckBoxState;
begin
if FState <> Value then
begin
OldState := FState;
FState := Value;
if Action is TCustomAction then
TCustomAction(Action).Checked := FState = cbChecked;
ApplyChanges;
//some widgetsets (gtk*) does not allow to uncheck a radio button
//only call OnChange if effectivelly changed
FState := RetrieveState;
if FState <> OldState then
DoClickOnChange;
end;
end;