![]() |
Form ohne Taskleisten-Button
Hallo,
ich erzeuge mit diesem Code ein Fenster (testweise):
Delphi-Quellcode:
Wenn diese neue Form angezeigt wird, wird Diese in der Taskleiste mit einem Button dargestellt.
procedure TForm1.Button1Click(Sender: TObject);
var f: TForm; begin f := TForm.CreateParented(getdesktopwindow); f.Top := 200; f.Left := 200; f.Height := 200; f.Width := 200; f.Caption := 'Fenster'; f.Show; end; Codes für das Ausblenden von Applicationen in der Taskleiste gibts ja genügend (z. B. ![]() |
Re: Form ohne Taskleisten-Button
Dann nimm doch diesen Code, aber statt Application.Handle :arrow: F.Handle.
Gruß, ManuMF |
Re: Form ohne Taskleisten-Button
Zitat:
|
Re: Form ohne Taskleisten-Button
Muss es aber :wink: . Auszug aus meinem "Bounce and Fall":
Delphi-Quellcode:
procedure TBlobForm.FormShow(Sender: TObject);
begin // Setzt Fenster an die vorderste Front SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); // Setzt Parent auf den Desktop SetWindowLong(Handle, GWL_HWNDPARENT, 0); // Versteckt das Fenster in der Taskleiste SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); end; |
Re: Form ohne Taskleisten-Button
Hallo,
wenn ich den Code vom meinem Link oben in das OnShow der erzeugten Form tu, dann funktionierts. Ist Dieser aber im OnCreate (so wie in dem Code ersichtlich) funktioniert ned! Trotdem Vielen Dank für die Hilfe! |
Re: Form ohne Taskleisten-Button
Das "Problem" hatte ich auch mal. Aber es ist ja eigentlich relativ klar, dass man ein Ding erst verstecken kann, wenn es existiert. :zwinker:
|
Re: Form ohne Taskleisten-Button
Zitat:
|
Re: Form ohne Taskleisten-Button
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt muss ich das Thema nochmal aufgreifen.
In meinem Projekt kann es sein, dass die MainForm beim Starten nicht sichtbar ist.
Delphi-Quellcode:
Durch eine Procedure (im Testbeispiel durch einen Timer verwirklicht) wird dann die neue Form erzeugt.
procedure TForm1.FormCreate(Sender: TObject);
begin Application.ShowMainForm := false; end; In dieser Situation wird, trotz dem Code fürs Ausblenden des Taskbar-Buttons im OnShow der neuen Form, der TaskBar-Button angezeigt. Wie kann man dies verhindern? P.S.: Anbei mein Testbeispiel. Startet die Echse, nach 2 sek wird die neue Form angezeigt. |
Re: Form ohne Taskleisten-Button
weiss jemand warum das obrige nicht geht, wenn die mainform beim starten nicht sichtbar ist?
|
Re: Form ohne Taskleisten-Button
Ich hab jetzt selbst eine Lösung gefunden. Ich finde sie aber nicht sehr schön:
Delphi-Quellcode:
procedure TForm1.OnFShow(Sender: TObject);
begin with f do begin ShowWindow(Handle, SW_HIDE ); SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow(Handle, SW_SHOW ); end; If not Application.MainForm.Visible then begin with Application do begin ShowWindow(Handle, SW_HIDE ); SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow(Handle, SW_SHOW ); end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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