Re: TreeView - Auswahl merken, nach ProgStart herstellen
15. Mär 2004, 13:35
Hallo,
ich glaube ich mach es so wie Ihr beschrieben habt. Aber es funktioniert nicht.
Hier mein Code:
/DELPHI
procedure TfrmHaupt.ProjekteEinlesen;
var
nc : TTreeNode;
ExpandTree : Boolean;
begin
ExpandTree := True;
// TreeView löschen
TreeView_Projekte.Items.Clear;
// Standardverzeichnis setzen
nc := TreeView_Projekte.Items.AddChild(NIL, // 'D:\Programmierung\Delphi\PLS_TOOLS\BIN\Projekte') ;
ExtractFilePath (Application.ExeName) + 'PROJEKTE');
nc.ImageIndex := 1;
nc.SelectedIndex := 1;
//nc.OverlayIndex := 6;
TreeView_ProjekteExpanding (Self, nc, ExpandTree);
//TreeView_Projekte.Expand (True);
TreeView_Projekte.FullExpand;
end;
procedure TfrmHaupt.FuelleProjektTree(n: TTreeNode);
var
Path : String;
Search : TSearchRec;
nc : TTreeNode;
begin
if n = NIL then Exit;
Path := GetDirStr (n);
if FindFirst (Path + '*.*', faDirectory, Search) = 0 then
repeat
if ((Search.attr and fadirectory) = fadirectory) and
(Search.name <> '.') and (search.name <> '..') then
begin
nc := TreeView_Projekte.Items.AddChild (n, Search.Name);
nc.ImageIndex := 0;
nc.SelectedIndex := 0;
if n.AbsoluteIndex = MyTreeAuswahl then
begin
n.Selected := True;
end;
end;
until FindNext (Search) <> 0;
FindClose (Search);
//
end;
procedure TfrmHaupt.TreeView_ProjekteChange(Sender: TObject; Node: TTreeNode);
begin
// für zuweisung von verzeichnis
ProjektVerwaltung.ProjektVerzeichnis := GetDirStr (Node);
//Label_PLS_PIC.Caption := KurzVerzeichnis (ProjektVerwaltung.BilderVerzeichnis, 70);
Label_PLS_PIC.Caption := ProjektVerwaltung.BilderVerzeichnis;
Label_PLS_DAT.Caption := ProjektVerwaltung.DatenVerzeichnis;
Label_PLS_EXP.Caption := ProjektVerwaltung.ExportVerzeichnis;
Label_PLS_ALY.Caption := ProjektVerwaltung.AnalyseVerzeichnis;
MyProjektVerzeichniss := ProjektVerwaltung.ProjektVerzeichnis;
ProjektEinstellungen;
if DirectoryExists(ProjektVerwaltung.BilderVerzeichni s) then
FileListBox1.Directory := ProjektVerwaltung.BilderVerzeichnis;
if DirectoryExists(ProjektVerwaltung.AnalyseVerzeichn is) then
FileListBox2.Directory := ProjektVerwaltung.AnalyseVerzeichnis;
GroupBox_PJ_Struktur.Caption := 'Projekt Struktur [' + node.Text + ']'+ inttostr(node.AbsoluteIndex);
Caption := MyProgrammCaption + ' [' + node.Text + ']';
//***** Speichern der letzten Auswahl
MyTreeAuswahl := Node.AbsoluteIndex;
end;
procedure TfrmHaupt.TreeView_ProjekteCollapsed(Sender: TObject;
Node: TTreeNode);
begin
if node.Parent = NIL then Exit;
node.SelectedIndex := 0;
node.ImageIndex := 0;
end;
procedure TfrmHaupt.TreeView_ProjekteExpanding(Sender: TObject;
Node: TTreeNode; var AllowExpansion: Boolean);
begin
TreeView_Projekte.Items.BeginUpdate;
node.DeleteChildren;
FuelleProjektTree (Node);
TreeView_Projekte.Items.EndUpdate;
if node.Parent = nil then Exit;
node.SelectedIndex := 5;
node.ImageIndex := 5;
end;
/DELPHI
Könnt Ihr mir sagen, wo ich etwas falsch mache?
Danke.
Gruß
----
BiBi
|