AGB  ·  Datenschutz  ·  Impressum  







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

TreeNode in TreeView verschwindet

Ein Thema von Angel4585 · begonnen am 7. Mär 2006
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

TreeNode in TreeView verschwindet

  Alt 7. Mär 2006, 13:16
Hallo zusammen,

folgendes problem:

Ich ahbe eine Form,

links ein TreeView, rechts zwei Panels

der TreeView hat zwei Nodes: 'Panel1','Panel2'

über diese Prozedur wird jedweils ein Panel sichtbar gemacht und das andere unsichtbar:

Delphi-Quellcode:
procedure ChangeShowedPart(APanel : string);
begin
Panel1.Visible:= APanel = 'Panel1';
Panel2.Visible:= APanel = 'Panel2';
end;
funktioniert auch perfekt.

Im OnCreate der Form werden dem Treeview die zwei genannten Nodes jeweils mit
Delphi-Quellcode:
Clear;
AddChild('Panel1')
AddChild('Panel2')
hinzugefügt, danach wird mit
Select(TopItem) das erste der beiden selektiert.
und dann die Funktion
ChangeShowedPart(Selected.Text) aufgerufen, damit das entsprechende Panel angezeigt wird.

Soweit so gut.

Im OnChange des TreeViews steht ebenfalls dieses
ChangeShowedPart(Selected.Text). Wenn ich jetzt die Form mit ShowModal anzeigen lasse, verschwindet auf einmal die erste Node, das OnChange des TreeViews wird aufgerufen, das zweite Panel wird angezeigt und dann ist die verschwundene Node auf einmal wieder da. Und ich verzweifle solangsam, weil es kein OnShow Ereignis gibt und mir sonst auch nichts einfällt.

Warum verschwindet da das erste Node?

HÜÜÜLLLFFFÄÄÄÄ



Edit: Ich habs jetzt so gelöst, dass ich das OnChange des TreeViews im OnShow der Form zuweise.. dann gehts.. will aber trotzdem wissen was da los ist!

Ergänzung: Nachdem die verschwundene Node wieder da ist wird das OnChange nochmals ausgeführt.. es wird auch das richtige Panel auf Visible gesetzt.. aber trotzdem sehe ich das Panel das laut den überwachten Ausdrücken visible = False hat

Ergänzung2: aus dem Showmodal hab ich jetzt das gemacht.. und es funktioniert ohne ein OnShow:
Delphi-Quellcode:
with TtfForm.Create(Self) do
 try
  Show;
  tfMainForm.Enabled:=False;
  while Visible do
   Application.ProcessMessages;
 finally
  tfMainForm.Enabled:=True;
  Free;
  end;
Also muss es irgendwie mit dem ShowModal zusammenhängen oder? Aber was passiert da?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:29 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