![]() |
Fenster dynamisch aus Taskbar raus
Hallo,
ich möchte, dass ein Fenster per Button-Klick aus der Taskbar verschwindet. c++-Code mit ModofyEx ![]()
Delphi-Quellcode:
Klappt nur leider nicht.
begin
ShowWindow(Handle, SW_HIDE); SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); ShowWindow(Handle,SW_SHOW); end; Weiss jemand, wie das geht? Danke Heiko |
AW: Fenster dynamisch aus Taskbar raus
Delphi-Quellcode:
procedure HideInTaskbar(AHandle: HWnd; Hide: Boolean);
const SW: array [Boolean] of Longword = (SW_NORMAL, SW_HIDE); var Owner: HWnd; begin {Um den Taskbar-Eintrag des Moduls zu verstecken, muß das Applikationsfenster (nicht die MainForm!) unsichtbar gemacht werden.} Owner := GetWindow(AHandle, GW_OWNER); ShowWindow(Owner, SW[Hide]); end; procedure TForm1.Button1Click(Sender: TObject); begin HideInTaskbar(Handle, True); end; |
AW: Fenster dynamisch aus Taskbar raus
Welches Delphi?
Zwecks Aero-Support seit Vista ist in "aktuelleren" Delphiversionen standardmäßig nicht mehr Application (ein unsichtbares MessageOnlyWindow) in der Taskbar, sondern die Mainform, sonst zeigt die Preview nur "Mist" an. :stupid: |
AW: Fenster dynamisch aus Taskbar raus
Delphi 7 in Windows 7, Funktion funktioniert.
|
AW: Fenster dynamisch aus Taskbar raus
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
![]() Und das gibt es bestimmt schon mindestens seit 6-7 Jahren. Und demnach funktioniert Delphi 7 in Win7 doch nicht "richtig", oder was zeigt die Aero-Preview (Aero Peek) oder der Taskswitcher (Win+Tab) bei dir an? Vermutlich nicht den Inhalt der Mainform. :zwinker: Aber ja, der Code würde genau so, also ohne Änderungen am Code, sogar in neueren Delphis funktionieren, aber das will man doch garnicht. :angle2: |
AW: Fenster dynamisch aus Taskbar raus
Hallo,
im Moment noch D2007, soll aber bald XE4 werden. Vom Ändern von MainFormOnTaskbar wird im Artikel ja abgeraten. Danke Heiko |
AW: Fenster dynamisch aus Taskbar raus
Hallo,
beides hat nicht geklappt. Aber das hier klappt. // verstecken Application.MainFormOnTaskBar := False; ShowWindow(Application.Handle, SW_HIDE); // wieder anzeigen Application.MainFormOnTaskBar := True; ShowWindow(Application.Handle, SW_SHOW); Das Verstecken erzeugt einen kleinen Flacker-Effekt, aber das ist mir egal. Trotzdem Danke an Euch. Heiko |
AW: Fenster dynamisch aus Taskbar raus
Wenn man das richtige Handle benutzt, dann geht's auch so ...
Delphi-Quellcode:
Der Code muß auf die Form angewendet werden, welche sich in der Taskbar befindet ... egal welche das ist :stupid:
if Application.MainFormOnTaskBar then
Application.MainForm.Handle else Application.Handle Aber bei vorallem bei der MainForm, ist "Hide" nicht immer die beste Idee, sondern eher das Ändern des Fenster-Stils, jedenfalls wenn die Form gleichzeitig oben sichtbar sein soll. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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-2025 by Thomas Breitkreuz