![]() |
Position bei TaskDialogIndirect
Standardmässig wird das Hinweisfenster welches von der Funktion TaskDialogIndirect erzeugt wird, ja zentriert auf dem Monitor dargestellt. Laut MSDN gibt es bei den dwFlags aber die Option über das Flag TDF_POSITION_RELATIVE_TO_WINDOW das Hinweisfenster zentriert über der aufrufenden Anwendung zu zentrieren. Leider funktioniert das bei mir nicht.
Source kann ich leider nicht viel zeigen da ich die TaskDialogkomponente von TMS verwende und die wohl etwas dagegen hätten wenn ich deren Source hier rein stelle. Zitat:
Delphi-Quellcode:
Den Source von TMS habe ich entsprechend erweitert (das ShowMessage() ist da nur drinne weil ich sehen wollte ob die Codestelle überhaupt ausgeführt wird):
const
TDF_POSITION_RELATIVE_TO_WINDOW = $1000;
Delphi-Quellcode:
So und jetzt meine Frage: Hat jemand schon mal erfolgreich dieses Flag gesetzt und kann mir sagen ob bzw. was ich falsch mache?
if FDlgPosition = dpOwnerFormCenter then
begin //showmessage('test'); TaskDialogConfig.dwFlags := TaskDialogConfig.dwFlags or TDF_POSITION_RELATIVE_TO_WINDOW; end; |
Re: Position bei TaskDialogIndirect
Hat keiner eine Idee? :cry:
|
Re: Position bei TaskDialogIndirect
Schreib mal an MathiasSimmack eine PN, der kennt sich damit aus.
|
Re: Position bei TaskDialogIndirect
So, mit der Hilfe von Mathias hat es geklappt. :-)
Der Fehler lag darin das TaskDialogIndirect in der Komponente das Application-Handle übergeben wurde. Übergibt man das Form-Handle wird auch das erstellte Hinweisfenster über der aufrufenden Anwendung zentriert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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