![]() |
VCL TTaskDialog Z-Order Problem
Hallo,
ich habe in 11.1 ein kleines komisches Problem mit einem TTaskDialog. Gegeben: - VCL-Anwendung mit einem Datenmodul, welches einen TTaskDialog enthält - Neben dem Hauptformular gibt es 2 weitere Dialoge, beide: BorderStyle bsSizeable DefaultMonitor dmActiveForm PopupMode pmNone Position poOwnerFormCenter Scaled true Beide zur Laufzeit erzeugt und mittels ShowModal angezeigt In beiden Forms gibt es jeweils einen Button, der diesen TaskDialog mittels Execute anzeigt. Es nutzt auch nix, die Execute Variante mit dem Handle als Parameter zu benutzen. In der einen Form klickt man auf den Button und der TaskDialog wird wie gewünscht im Vordergrund angezeigt. In der anderen Form wird er immer hinter der Form angezeigt und kann nur mittels Alt-Tab hervorgeholt werden. Eine QP Suche nach evtl. bekannten Problemen ist gerade scheinbar nicht möglich, irgendwie streikt das QP ein bisschen... Grüße TurboMagic |
AW: VCL TTaskDialog Z-Order Problem
Hier geht es ohne Probleme und ist immer vorne, egal ob mit oder ohne Handle.
Delphi-Quellcode:
Allerdings stimmt was mit dem PopupMode nicht.
procedure TForm8.Button1Click(Sender: TObject);
begin //TaskDialog1.Execute; TaskDialog1.Execute(Self.Handle); end; procedure TForm8.Button2Click(Sender: TObject); begin TForm8.Create(Self).Show; end; Alle neuen Fenster sind immer vorne, so als wenn wie die MainForm als PopupParent verwenden würden. Das mit dem "Parent" ist richtig so. Bei vielen VCL-Dialogen hat die Execute-Funktion zwar einen Parent-Parameter, aber oftmals wird Dieser intern garnicht verwendet, weil die jeweilige API keinen Parent unterstützt. Beim TaskDialog wird der Parent zwar durchgereicht, aber man lese mal den Kommentar.
Delphi-Quellcode:
Obwohl die Hilfe
TASKDIALOGCONFIG = record
cbSize: UINT; hwndParent: HWND; // incorrectly named, this is the owner window, not a parent. ![]() Zitat:
|
AW: VCL TTaskDialog Z-Order Problem
Eine Suche in QP nach TTaskDialog brachte schon mal nichts.
Und auch einbe Suche nach PopupMode oder Popup hat auf die Schnelle nichts sinnvolles ergeben. Du scheinst dich da besser auszukennen. Kannst du mal versuchen deinen Verdacht mittels einer kleinen Demo zu bestätigen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 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