![]() |
Icon nicht in TaskBar anzeigen
Hab da ein Problem das ich mir nicht erklären kann.
Ich erstelle eine Form
Delphi-Quellcode:
Wenn ich diese nun mit
FParentHandle := WinHandle;
LoadFromIniFile(AIniFile); Application.CreateForm(TForm, FPreview); FPreview.BorderStyle := bsNone; FPreview.SetBounds(Left, Top, Width, Height); FPreview.Color := clBlack; FPreview.AlphaBlend := True; FPreview.AlphaBlendValue := 255; FPreviewHandle := SetParent(WinHandle, FPreview.Handle); MoveWindow(WinHandle, 0, 0, Width, Height, False); SkinEngine.ShowMainWindow(WinHandle, 5); FPreview.Show; FPreview.Free freigebe dann wird das Icon kurz in der TaskBar angezeigt. Das nervt extrem.. zudem verursacht das ein neu zeichnen der Anwendung. Habe da schon alle mir bekannten Möglichkeiten versucht.
Delphi-Quellcode:
Application.MainFormOnTaskBar := False;
und diverse andere API Funktionen inklusive das verändern der Style. Also was gibt es da noch um das zu verhindern? Das Fenster wird in einer DLL erstellt.
Delphi-Quellcode:
Hat keinen Effekt..
ShowWindow(FPreview.Handle, SW_HIDE);
SetWindowLong(FPreview.Handle, GWL_EXSTYLE, GetWindowLong(FPreview.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); Verstehe nicht warum beim beenden der Form das Icon kurz aufblitzt. gruss |
AW: Icon nicht in TaskBar anzeigen
Zitat:
Das sollte aber in der Anwendung reichen. In der DLL sollte das nicht nötig sein. In der DLL kannst du das Fenster auch denke ich ganz normal erstellen ohne Application. Ich denke, dass es reicht, wenn du das Formular selbst auf der Taskleiste anzeigen lässt und in den überschriebenen CreateParams WS_EX_APPWINDOW heraus nimmst. Mehr zu dem Thema findest du unter: ![]() |
AW: Icon nicht in TaskBar anzeigen
Zitat:
Eigentlich müsste es ausreichen den ExStyle " WS_EX_TOOLWINDOW " zu setzen tut es aber nicht. auch das hat keine Auswirkung " or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW " ok.. werde die Form rauswerfen und mit Win32Api Mitteln weitermachen. Subclassing und bla, bla, bla ;) Danke gruss |
AW: Icon nicht in TaskBar anzeigen
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang findest du eine DLL und eine Hostanwendung, die nur einen Button zur Anzeige eines DLL-Formulars enthält. (Ja, das wird nicht von mir wieder freigegeben, ist ja nur ein Beispiel.)
Beide Formulare enthalten ein überschriebenes CreateParams wie ich es ja erwähnt hatte. Aktuell wird gar nichts in der Taskleiste angezeigt. Wenn du die beiden Zeilen nach inherited auskommentierst, wird das entsprechende Formular wieder angezeigt, sowohl in DLL als auch im Host. Deinen Fall bekommst du also indem du in Unit14 das CreateParams auskommentierst: Die Hostanwendung zeigt den Taskleisteneintrag an, das Fenster der DLL nicht. |
AW: Icon nicht in TaskBar anzeigen
Zitat:
Ich muss aber sagen das sich dieses Thema erledigt hat da ich keine VCL-Form mehr verwende somit gibt es kein SetParent und auch kein Icon mehr das ich sehen könnte. Aber werde mir dein Beispiel trotzdem einmal anschauen. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 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