diff --git a/lcl/include/customcheckbox.inc b/lcl/include/customcheckbox.inc index 0752e3bfe7..8de621f207 100644 --- a/lcl/include/customcheckbox.inc +++ b/lcl/include/customcheckbox.inc @@ -56,12 +56,11 @@ procedure TCustomCheckBox.DoChange(var Msg); var NewState: TCheckBoxState; begin - //debugln('TCustomCheckBox.DoChange START ',dbgsname(Self),' ',dbgs(ord(FState))); NewState := RetrieveState; if FState = NewState then exit; FState := NewState; - //debugln('TCustomCheckBox.DoChange CHANGED ',dbgsname(Self),' ',dbgs(ord(FState))); - inherited Click; // emulate delphi OnClick behaviour + // emulate delphi OnClick behaviour + DoClickOnChange; end; class procedure TCustomCheckBox.WSRegisterClass; @@ -156,8 +155,8 @@ begin TCustomAction(Action).Checked := FState = cbChecked; ApplyChanges; DoOnChange; - if (not ClicksDisabled) then - inherited Click; + if not ClicksDisabled then + DoClickOnChange; end; end; @@ -248,6 +247,11 @@ begin Params.Style := Params.Style or BS_3STATE; end; +procedure TCustomCheckBox.DoClickOnChange; +begin + inherited Click; +end; + function TCustomCheckBox.DialogChar(var Message: TLMKey): boolean; begin if IsAccel(Message.CharCode, Caption) and CanFocus then diff --git a/lcl/include/radiobutton.inc b/lcl/include/radiobutton.inc index df946d5eb3..a10e486b5c 100644 --- a/lcl/include/radiobutton.inc +++ b/lcl/include/radiobutton.inc @@ -105,6 +105,12 @@ begin end; end; +procedure TRadioButton.DoClickOnChange; +begin + if State = cbChecked then + inherited DoClickOnChange; +end; + procedure TRadioButton.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); diff --git a/lcl/stdctrls.pp b/lcl/stdctrls.pp index 7bc0c660b1..7416733f27 100644 --- a/lcl/stdctrls.pp +++ b/lcl/stdctrls.pp @@ -1189,6 +1189,7 @@ type protected class procedure WSRegisterClass; override; procedure Click; override; + procedure DoClickOnChange; virtual; function RetrieveState: TCheckBoxState; procedure InitializeWnd; override; procedure Toggle; virtual; @@ -1323,6 +1324,7 @@ type procedure SetChecked(Value: Boolean); override; procedure DoChange(var Msg); message LM_CHANGED; procedure DoApplyChanges; + procedure DoClickOnChange; override; procedure CreateParams(var Params: TCreateParams); override; public constructor Create(TheOwner: TComponent); override;