En qué delphi lo has probado
vtdeleon?
En Delphi 6 Enterprise lo he usado con éxito.
Como ves los de Borland ya pensaron en ello y precisamente por eso tienen una variabla protected/private (no recuerdo) llamada ClickDisabled.
Ahora mismo en Delphi 6 no puedo mirarlo. En BDS2006 la cosa ha cambiado:
Código Delphi
[-]
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
begin
if FState <> Value then
begin
FState := Value;
if HandleAllocated then
SendMessage(Handle, BM_SETCHECK, Integer(FState), 0);
if not ClicksDisabled then Click; <-------------------------
end;
end;
Ahora es el procedimiento SetState.
Saludos