![]() |
Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Ein Projekt öffnet (unter Umständen) etwas ungeschickt direkt im
Delphi-Quellcode:
des Hauptformulars einen
onCreate
Delphi-Quellcode:
-Dialog.
FileOpen
Usability-Problem: Zu diesem Zeitpunkt existiert noch kein Eintrag in der Windows-Taskleiste. Der Benutzer kann so leicht verwirrt werden, von woher denn auf einmal dieser Auswahl-Dialog stammt. Meine Frage: Ich dachte ich bin schlau, und packe das einfach ins
Delphi-Quellcode:
. Das ändert nichts. Ab wann kann ich denn jetzt eigentlich sicher sein, dass der Eintrag in der Taskleiste aufgetaucht ist?
onShow
PS: Mit XE6 hat sich bzgl. der Taskleiste ja angeblich einiges geändert. Es geht hier noch um XE5. |
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Da ich das noch nie so richtig kapiert habe, aktiviere ich in solchen Fällen in FormCreate einen Timer mit einem Intervall von 200ms. Im "OnIntervall" deaktiviere ich ihn dann wieder und kann größtenteils sicher sein, dass die Form auch da ist. Pfusch, aber klappt.
|
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Evtl. ginge es, das ins OnActivate zu setzen (und in einem Flag die erste Aktivierung zu vermerken).
|
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Eigentlich dachte ich dieser Eintrag wird vom Windows gemacht. Dann, wenn die Form sichtbar ist. :gruebel:
OldCreateOrder: Früher war das etwas anders. Aber jetzt wird das Formular (eigentlich) erst nach dem OnCreate angezeigt. Während des OnCreate wird Visible:=... abgefangen und nicht an die Form durchgereicht. Nach dem OnCreate wird dann das Fenster erst richtig sichtbar. OnShow ist nach dem Anzeigen. (Nach dem Erstellen oder nach dem Ändern des Visible) Du könntest eventuell einen eigenen Dialog basteln, welcher einen eigenen Taskleisten-Eintrag bekommt (wenn es noch Keinen gibt). |
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Ich hab sowas auch im OnActivate drin mit Schalter FirstActivate.
|
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Zitat:
Zum Verständnis: OnCreate des Hauptformulars wird nur einmal aufgerufen, OnActivate und OnShow können u.U. auch mehrfach aufgerufen werden. Will man ganz sicher sein, das der Aufbau der Form vor dem Anzeigen eines Dialogs abgeschlossen ist, hilft ein Application.ProcessMessages vor dem Aufruf des Dialogs. |
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Zitat:
(Witzig ist nur, daß z.B. ein ShowModal im OnCreate funktioniert, auch wenn noch nicht alles fertig ist) |
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Zitat:
![]() Oben hatte ich mich leider vertan, denn die Reihenfolge der Ereignisse sieht tatsächlich folgendermaßen aus: 1. ![]() 2. ![]() 3. ![]() 4. ![]() |
AW: Ab wann taucht ein VCL-Formular in der Taskleiste auf?
Toll, Danke :thumb:
Das hilft mir bestens. Jetzt weiß ich wohl endlich, wie man es richtig macht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 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