AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Checklistbox.Items.AddObject < wie komme ich da wieder ran?
Thema durchsuchen
Ansicht
Themen-Optionen

Checklistbox.Items.AddObject < wie komme ich da wieder ran?

Ein Thema von jensw_2000 · begonnen am 12. Aug 2005 · letzter Beitrag vom 12. Aug 2005
Antwort Antwort
jensw_2000
(Gast)

n/a Beiträge
 
#1

Checklistbox.Items.AddObject < wie komme ich da wieder r

  Alt 12. Aug 2005, 08:33
[Insert]
Gleich nach unten scrollen und bitte nicht auslachen ...
[/Insert]


Ich habe eine TChecklistbox in der ist via AddObjeck Items hinzufüge ..

Delphi-Quellcode:
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;
Aber wie komme ich jetzt nur wieder an die internen Checkboxen heran ?

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:
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;
Die Hilfe bringt mich nicht wirklich weiter.
Hat jemand eine Idee wie ich an das interne Objekt herankomme ?


Schöne Grüße,
Jens




EDIT
------------------------------------------------------------------
Arrgh, Augen auf ...

TChecklistbox kennt auch AllowGrayed.
Damit kann ich mit den ganzen Zauber sparen ...
------------------------------------------------------------------

Aber nur interessehalber ...
Wie komme ich generell wieder an das "interne" Objekt heran (für den nächsten Versuch ... ) ?
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#2

Re: Checklistbox.Items.AddObject < wie komme ich da wied

  Alt 12. Aug 2005, 08:53
TChecklistbox.Items.Objects[Index]
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#3

Re: Checklistbox.Items.AddObject < wie komme ich da wied

  Alt 12. Aug 2005, 09:20
Danke.
Irgendwie habe ich heute das wohl innere Verlangen, alles zu verkomplizieren ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz