Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Form-Eintrag in Taskleiste ausblenden
Jojojoxx - Sa 04.10.08 18:13
Titel: Form-Eintrag in Taskleiste ausblenden
Hallo!
Ich habe ein Programm, dass mittels CoolTrayIcon im Tray läuft und keinen Eintrag in der Taskleiste anzeigt. Nun soll eine Form (Nicht Hauptformular, als Beispiel "Form2") angezeigt werden, und sobald diese aufgerufen wird erscheint ein Eintrag "Form2" in der Taskleiste. Wie kann ich den verhindern? Den Eintrag des Hauptformulars habe ich mittels
Quelltext
1:
| ShowWindow(Application.Handle,SW_HIDE); |
ausblenden können, allerdings klappt das bei Form2 nicht. Auch dann nicht, wenn ich "Application.Handle" durch "Form2.Handle" ersetze
Danke euch für die Hilfe!
mfg
Jojo.
Yogu - Sa 04.10.08 18:26
Hast du die Codezeile auch schon mal in verschiedenen Ereignissen bzw. Positionen ausprobiert? Möglicherweise wird der Button (erst) wieder angezeigt, nachdem du ihn manuell ausgeblendet hast.
Jojojoxx - Sa 04.10.08 18:30
Ja, ich habe die Zeile im OnShow Ereignis und VOR dem eigentlichen Form2.Show Aufruf ausprobiert.
Yogu - Sa 04.10.08 18:51
Ich habe ein minimales Beispielprojekt erstellt, und der Taskbar-Button bleibt bei mir versteckt. Vielleicht liegt es am Betriebssystem (Windows 2000), oder du hast noch zusätzlichen Code, der stört.
Ich habe mein Projekt angehängt, du könntest es mal ausprobieren.
Jojojoxx - Sa 04.10.08 20:35
Ich habe dein Projekt mal so angepasst wie bei mir das Programm aussieht.
Wenn du es nun startest und das Programm minimierst erscheint ein Tray-Symbol.
Wenn du nun aus dem minimierten Programm über das Tray-Menü (Rechtsklick auf Tray-Icon) auf Form2.show klickst, erscheinen die Taskbar-Einträge. Diese beiden Einträge möchte ich verhindern.
mfg
Jojo
Delete - Mo 06.10.08 08:30
Versuch mal
Delphi-Quelltext
1:
| SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) and not WS_EX_APPWINDOW); |
im OnCreate von Form2.
Jojojoxx - Mo 06.10.08 11:49
Bringt leider nichts.
Der Eintrag von Form2 wird immer noch in der Taskleiste angezeigt :(
jaenicke - Mo 06.10.08 15:26
Auf jeden Fall hast du einen Denkfehler drin: Du lässt Form2 automatisch erstellen, und benutzt Form2 auch mit Show etc. einfach so, aber du entfernst es beim Schließen aus dem Speicher...
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; |
Was die Taskleistenschaltfläche angeht schaue ich gleich nochmal.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!