Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: checkbox change ohne click

  Alt 9. Mai 2011, 15:27
Dafür eine eigene Komponente finde ich etwas übertrieben. Wie wäre es denn so?
Delphi-Quellcode:
type
  TCheckbox = class(StdCtrls.TCheckbox)
  private
    FAvoidClick: Boolean;
    function GetMyState: TCheckBoxState;
    procedure SetMyState(const Value: TCheckBoxState);
  public
    property AvoidClick: Boolean read FAvoidClick write FAvoidClick;
    property State: TCheckBoxState read GetMyState write SetMyState;
  end;

  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    ...
  end;

...

function TCheckbox.GetMyState: TCheckBoxState;
begin
  Result := inherited State;
end;

procedure TCheckbox.SetMyState(const Value: TCheckBoxState);
begin
  ClicksDisabled := FAvoidClick;
  inherited State := Value;
  ClicksDisabled := false;
end;
Über die neue Property AvoidClick kann man individuell je Checkbox angeben, ob sie ein Click-Event auslösen soll, wenn State geändert wird.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat