AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi TreeView_Expand - komplett Tree expandieren ?
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView_Expand - komplett Tree expandieren ?

Ein Thema von turboPASCAL · begonnen am 2. Okt 2009 · letzter Beitrag vom 3. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 14:37
Hi,

wie kann man denn den TreeView komplett expandieren ?
So klappt es nicht:

Delphi-Quellcode:
rocedure TWndList.FillTreeView(hwnd: HWND);
var
  hTreeView: dword;
  hRoot: HTREEITEM;
  i: integer;
begin
  hTreeView := GetDlgItem(hwnd, IDC_TREE1);

  TreeView_DeleteAllItems(hTreeView);

  tvis.hParent := TVI_ROOT;
  tvis.hInsertAfter := TVI_LAST;
  tvis.item.mask := TVIF_TEXT {or TVIF_IMAGE};
  tvis.item.pszText := 'First';

  hRoot := TreeView_InsertItem(hTreeView, tvis);
  tvis.hParent := hRoot;

  for i := 0 to 4 do
  begin
    tvis.item.pszText := PCHAR(format('Item %d', [i + 1]));
    tvis.hParent := TreeView_InsertItem(hTreeView, tvis);
  end;

  TreeView_Expand(hTreeView, hRoot, TVE_EXPAND);
end;
Angehängte Dateien
Dateityp: zip nonvcltreeview_104.zip (10,1 KB, 9x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#2

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 14:40
Hat der TreeView nicht Properties CollapseAll/ExpandAll ? Da war doch was .. // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 14:45
Äh, nich bei der nonVCL - Version.

Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#4

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 14:51
Oh - Ok. Also dann für Kandidaten vor dem Sofa nochmal in kleiner Sofakissengröße:

Du willst alle Nodes durchiterieren und dabei öffnen? Ich frage deshalb, da auch
die Nodes / Items die Property 'Expand' haben. Funktioniert die bei NonVCL ?

Dann könnte ich nach iterationsroutinen in der Kiste unter dem Sofa suchen . . .

// Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#5

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 14:56
Eigentlich sollte es aber funktionieren. Hast du es mal direkt mit SendMessage probiert? Sind die Handle gültig?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#6

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 15:03
Delphi-Quellcode:

procedure TreeviewFullyExpand(tv: TTreeview);
var
  Node : TTreeNode;
  IsExp : boolean;
begin
  Assert(Assigned(tv));
  if tv.Items.Count > 0 then
  begin
    Node := tv.Items[0];
    while Assigned(Node) do
    begin
      IsExp := Node.Expanded or not Node.HasChildren;
      if IsExp = false then Node.Expanded = true;
      Node := Node.GetNext;
    end; {While}
  end {If}
end;
Das ist jetzt natürlich mit der VCL-Version.
Vielleicht kann man dies Übertragen..

// Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 15:07
Zitat:
Du willst alle Nodes durchiterieren und dabei öffnen?
Ich hoffte darauf das durchiterieren (schickes Wort) durch eine einzelne Message,
also TVE_EXPAND umgehen zu können.
Leider expandiert es nur den ersten Knoten.

Zitat:
Eigentlich sollte es aber funktionieren. Hast du es mal direkt mit SendMessage probiert? Sind die Handle gültig?
Jo.
Ja.
Ja.

@Martin,

Möglich, aber nicht für mich als Anfänger.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#8

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 15:14
Um das Sofa schleich: Wenn Du mal ein Miniprojekt hast nur mit dem Treeview versuche ich es mal einzubauen ... // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 15:33
Damit du nicht einen Graben um das Sofa läufst, hab ich im ersten Post ein Miniproj. angehangen.

Aber es kann doch einfach nicht angehen das man alle Childs einzeln aufklappen muss.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#10

Re: TreeView_Expand - komplett Tree expandieren ?

  Alt 2. Okt 2009, 16:35
Hallo,

macht Delphi auch wenn FullExpand aufgerufen wird.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:49 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