Thema: Delphi Treeview:

Einzelnen Beitrag anzeigen

volksjammer

Registriert seit: 16. Mai 2013
15 Beiträge
 
#1

Treeview:

  Alt 16. Mai 2013, 22:43
Hallo Delphi-Freunde!
Möchte (mögl. kurz) mein Prob schildern:
Meine CDs/DVDs liegen im chaos stapelweise rum. Nun hab ich mir 'ne Treeview erstellt,
die die Inhalte der eingelegten Scheibe auflistet und ausdruckt. Klappt auch soweit.
Nur solche Ordner wie {3da26cd63df38a2b200c1842774c} möchte ich natürlich nicht mitdrucken,
daher will ich solche Einträge, die ich nicht sehn will, selektieren(Multiselect) und per
Button "Nicht mitdrucken" ausklammern bzw. nur die selektierten Einträge drucken.

Zum Test lasse ich mir vorher nichtausgewählten Einträge
in einem Memo listen. Hier hakt es dann:

Beim klick auf "Auswahl Nicht drucken" bekomme ich alle Unterordner ins Memo??
Die im Treeview garnicht zu sehen sind!
Die folgende Pocedure ist hierfür verantwortlich:
-------------------------------------------------
procedure TForm1.Button2Click(Sender: TObject); // Auswahl nicht(!) Drucken
var i: integer; // // tv[] = TreeView(Global)
begin Memo1.Clear;
for i := 0 (to TreeView1.Items.Count - 1) do
if NOT TreeView1.Items.Item[I].Selected then
begin
Memo1.lines.add(TreeView1.Items.Item[i].Text);
tv[i]:=-1; // Nicht-selektierte Einträge auf -1 setzen
end else tv[i]:=i; // Selektierte Einträge merken
Memo1.Perform(WM_VSCROLL, SB_TOP, 0);
end;
-------------------------------------------------
Die folgende Proc für "Auswahl Drucken" funktioniert dagegen perfekt!

procedure TForm1.Button4Click(Sender: TObject); // Auswahl drucken
var i: integer;
begin Memo1.Clear;
for I := 0 to (TreeView1.Items.Count - 1) do
if TreeView1.Items.Item[I].Selected then
begin
Memo1.lines.add(TreeView1.Items.Item[i].Text);
tv[i]:=-1; // Nicht-selektierte Einträge auf -1 setzen
end else tv[i]:=i; // Selektierte Einträge merken
SendMessage(Memo1.Handle, WM_VScroll, SB_Bottom, 0);
end;

Bitte! Wie kommt es dazu, dass die obere Proc "Button2Click" die Unterordner der Treeview
ins Memo schreibt??
VIELEN Dank im Voraus!!!

Geändert von volksjammer (16. Mai 2013 um 23:15 Uhr)
  Mit Zitat antworten Zitat