Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Checkboxen machen mich wahnsinnig!

  Alt 17. Aug 2006, 14:36
Hab grade versucht das Problem zu lösen aber genau wie du sagst ist das Problem das sobald man Checked ändert wird die OnClick Procedure ausgeführt -.-^^
Bin grad ne Lösung am suchen...

EDIT: Probiers ma ungefähr so:

Delphi-Quellcode:
var
  Form1: TForm1;
  Checks: Array[0..9] of TCheckbox;
  a: Boolean = false; //*

implementation

{$R *.dfm}

procedure TForm1.CheckBoxenClick(Sender: TObject);
var i: Integer;
begin
 if not a then begin //*
  a:= true; //*
  for i:= TCheckBox(Sender).Tag to 9 do
  begin
   Checks[i].Enabled := true;
   Checks[i].Checked := false;
  end;
  for i:= TCheckBox(Sender).Tag-1 downto 0 do
  begin
   Checks[i].Enabled := false;
   Checks[i].Checked := true;
  end;
  TCheckBox(Sender).Checked := true;
  a := false; // *
 end;
 //*) Verhindert das OnClick nochmals während dem OnClick ausgeführt wird
end;

procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
 for i:= 0 to 9 do
 begin
  Checks[i] := TCheckBox.Create(Self);
  Checks[i].Parent := Self;
  Checks[i].Left := 10;
  Checks[i].Top := i*20;
  Checks[i].Caption := 'Checkbox' + IntToStr(i);
  Checks[i].OnClick := CheckBoxenClick;
  Checks[i].Tag := i;
 end;
end;
Ich glaube das ist nicht 100% das was du willst aber es beantwortet deine Frage

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat