![]() |
Checklistbox.Items.AddObject < wie komme ich da wieder r
[Insert]
Gleich nach unten scrollen und bitte nicht auslachen :? ... [/Insert] Ich habe eine TChecklistbox in der ist via AddObjeck Items hinzufüge ..
Delphi-Quellcode:
Aber wie komme ich jetzt nur wieder an die internen Checkboxen heran ?
Procedure AddCheckItem(S:String;Checklist:TCheckListBox);
var InternalCheckbox:TCheckbox; idx:Integer; begin // internes TCheckbox Object erstellen InternalCheckbox:=TCheckbox.Create(CheckList); // Itemindex des neuen Items ermitteln idx:=CheckList.Items.Count; // internes TCheckbox Object konfigurieren InternalCheckbox.Caption:='Item '+inttostr(idx); InternalCheckbox.AllowGrayed:=true; // internes TCheckbox Object in CheckListbox einfügen CheckList.Items.AddObject(inttostr(idx),InternalCheckbox); end; Generell möchte ich erreíchen, das die interne Checkbox beim Checklist.onClickCheck ebenfalls auch angehakt nzw. abgehakt wird. Zusätzlich soll, wenn der Status der internen Checkbox cbGrayed ist, die Caption des Checklistbox Items modifiziert werden. Mein bisheriger Versuch
Delphi-Quellcode:
Die Hilfe bringt mich nicht wirklich weiter.
procedure TForm1.CheckListClickCheck(Sender: TObject);
var idx:integer; Fi:String; begin Fi:='Filter inaktiv'; idx:= CheckList.ItemIndex; If TObject(CheckList.Items[idx]) is TCheckbox then // << hier wird eine AV ausgelöst With (TObject(CheckList.Items[idx]) as TCheckbox) do // << Wenn ist die "is" Prüfung weglasse begin // wird hier die AV ausgelöst Case State of // interne CheckBox hat den Status cbGrayrd cbGrayed: begin State:=cbchecked; CheckList.Items[idx]:=Caption; CheckList.ItemEnabled[idx]:=true; end; // interne CheckBox hat den Status cbChecked cbchecked: begin State:=cbUnChecked; CheckList.Items[idx]:=Caption; CheckList.ItemEnabled[idx]:=false; end; // interne CheckBox hat den Status cbUnChecked cbunchecked: begin State:=cbGrayed; CheckList.Items[idx]:=Caption+' '+Fi; CheckList.ItemEnabled[idx]:=false; end; end; // case end; //with end; Hat jemand eine Idee wie ich an das interne Objekt herankomme ? Schöne Grüße, Jens :hi: EDIT ------------------------------------------------------------------ Arrgh, Augen auf ... :wall: TChecklistbox kennt auch AllowGrayed. Damit kann ich mit den ganzen Zauber sparen ... :wall: :wall: ------------------------------------------------------------------ Aber nur interessehalber ... Wie komme ich generell wieder an das "interne" Objekt heran (für den nächsten Versuch ... ) ? |
Re: Checklistbox.Items.AddObject < wie komme ich da wied
Delphi-Quellcode:
TChecklistbox.Items.Objects[Index]
|
Re: Checklistbox.Items.AddObject < wie komme ich da wied
Danke.
Irgendwie habe ich heute das wohl innere Verlangen, alles zu verkomplizieren ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz