Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#1

TCheckListBox.items.checked[n] alle auf einmal setzen?

  Alt 11. Apr 2018, 10:25
Hi@all.

Ich habe einen TTabControl. Jedes darin befindliche Tab soll andere Einträge in einer TCheckListBox anzeigen. Der Nutzer kann per Mausklick den die Haken bei den Einträgen der TCheckListBox entfernen oder setzen. Beim Wechsel zwischen Tabs müssen alle TCheckListBox.items.checked[n] für die entsprechenden Einträge wiederhergestellt werden.


Für jedes Tab habe ich ein boolsches Array, in welchem gespeichert ist, welcke Einträge "checked" sind und welche "unchecked" sind. Wie kann ich nun der TCheckListBox diese Information "schnell" übergeben? Seriell mit folgendem Code dauert dies eine halbe Ewigkeit, da nach jeder Änderung der Checked Property neu gezeichnet wird und die Variante halte ich für sehr unschön:

Delphi-Quellcode:
for n:=0 to length(CheckedMask)-1 do
   CheckListBox.checked[n]:=CheckedMask[n];
Aber ich habe weder im Forum, noch in der Delphi Hilfe eine Möglichkeit gefunden, den "checked-state" mehrer Einträge parallel zu setzen.

Hat jemand eine Idee?

Besten Gruß und vielen lieben Dank!

//edit: Tippfehler im Delphi-Quelltext behoben, danke an KodeZwerg, s. Beitrag nr. 6 und 7.
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS

Geändert von alleinherrscher (11. Apr 2018 um 13:38 Uhr)
  Mit Zitat antworten Zitat