![]() |
FormStyle "resetet" ShellTreeView
Hallo,
um mehrere Dateien in einem Verzeichnis umzubenennen schrieb ich ein kleines Programm, wobei unter anderem ein ShellTreeView verwendet wird. Es funktioniert auch alles ganz prima. Allerdings stellte sich bei der Arbeit mit dem Programm heraus, dass es manchmal ganz brauchbar wäre das Fenster vor allen anderen Fenstern anzuzeigen (StayOnTop), in anderen Situationen hingegen nicht. Dafür bietet sich natürlich eine Checkbox auf der Form an, die mit der Eigenschaft FormStyle gekoppelt wird.
Delphi-Quellcode:
Dabei stieß ich jedoch auf ein Problem: Immer wenn zur Laufzeit FormStyle geändert wird, kollabieren sämtliche Knoten des ShellTreeView und der Desktop wird angezeigt, was natürlich mitten in der Arbeit sehr nervig ist.
if CheckBox1.Checked then Form1.FormStyle:= fsStayOnTop
else Form1.FormStyle:= fsNormal; In der Delphi-Hilfe (Delphi 6.0) steht ein Hinweis, dass der Wert von FormStyle nicht zur Laufzeit geändert werden sollte. Hat das damit zu tun? Kennt jemand einen Trick diesen Reset von ShellTreeView zu verhindern? (ShellTreeView1.Path würde zwar den aktuellen Pfad wieder herstellen, nicht aber die anderen bereits geöffneten Knoten!) Oder wie kann man ein zur Laufzeit ein- und ausschaltbares "StayOnTop" sonst noch verwirklichen? Gruß e-gon |
Re: FormStyle "resetet" ShellTreeView
Hi, ich benutze dafür folgenden Code:
Delphi-Quellcode:
Gruß,
procedure TForm_Main.spbStayOnTopClick(StayOnTop: Boolean);
begin if StayOnTop then begin SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end else begin SetWindowPos(Handle, HWND_NOTOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; end; Stefan |
Re: FormStyle "resetet" ShellTreeView
Hallo GPRSNerd,
vielen Dank für die schnelle Antwort. Der Code funktioniert super! Genau das was ich gesucht habe! DANKE!!! Gruß e-gon |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz