AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TVCheckListbox und TStringList

Ein Thema von Blackpit · begonnen am 6. Jul 2019 · letzter Beitrag vom 7. Jul 2019
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#13

AW: TVCheckListbox und TStringList

  Alt 7. Jul 2019, 12:28
Zitat von Delphihilfe:
Mit Checked stellen Sie fest, ob eine Schaltfläche markiert ist.
Zitat von Delphihilfe:
State gibt für jedes Element im Array Items an, ob das entsprechende Kontrollkästchen aktiviert (cbChecked) oder deaktiviert (cbUnchecked) ist oder ob es grau dargestellt wird (cbGrayed).

State kombiniert die von der booleschen Eigenschaft Checked und der booleschen Eigenschaft ItemEnabled bereitgestellten Informationen:

Wenn für Checked der Wert true gilt, hat State den Wert cbChecked. (Wenn Checked jedoch false ist, kann State entweder den Wert cbUnchecked oder den Wert cbGrayed haben.)
Wenn State cbGrayed ist, hat ItemEnabled false. (ItemEnabled kann aber auch false sein, wenn State den Wert cbUnchecked oder cbChecked hat.)
Delphi-Quellcode:
var
  myCheckLst : TCheckListbox;
  myLst : String;
  myKat : Integer;
begin
  if Sender is TCheckListbox then begin
    myCheckLst := TCheckListbox(Sender);
    myLst := myCheckLst.Name; // Wird das für irgendwas benötigt?
    // Bitte Luckies Kommentar dazu beachten und entsprechend umsetzen.
    if not assigned(myselection) then myselection := TStringList.create; // myselection.clear beim speichern
      myselection.Sort;
      myCheckLst.Sorted := True;
      for i := myCheckLst.Count - 1 downto 0 do begin
        if myCheckLst.Checked then begin
          if not (myselection.Find(myCheckLst.Items[i],myKat)) then myselection.Add(myCheckLst.Items[i]);
        end else begin
          // Wir suchen also in myselection die Zeichenfolge aus Items[i]
          if myselection.Find(myCheckLst.Items[i],myKat) then begin
            // und wenn wir die gefunden haben, löschen wir in myselection den Eintrag,
            // der die Position in myselection hat, die dem aktuell ausgewählten Eintrag aus myCheckLst entspricht?
            // Das ist dann so eine Art Zufallsgenerator, aber bestimmt nicht im Sinne des Erfinders.
            // myselection.Delete(myCheckLst.ItemIndex);
            // Könnte da nicht eher dashier zielführend sein, schließlich haben wir das ja gerade per Find ermittelt?
            myselection.Delete(myKat);
          end;
        end;
      end;
    end;
  end else begin
    // Sinnvolle Fehlermeldung ausgeben, wenn das Ereignis für was anderes als 'ne TCheckListbox aufgerufen wird.
  end;
end;
  Mit Zitat antworten Zitat
 


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 14:30 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