![]() |
Focus nicht abgeben
Hallo zusammen,
hat jemand eine Idee, wie man folgendes Problem einfach lösen kann: Mit
Delphi-Quellcode:
kann man die Windows Bild- und Faxanzeige gut starten. (h ist der Dateiname eines .jpg)
ShellExecute(0, 'open', PChar('rundll32.exe'), PChar('shimgvw.dll,ImageView_Fullscreen ' + h), '', SW_SHOWMAXIMIZED);
Allerding hat nun die Windows Bild- und Faxanzeige den Eingabefocus. Das aktive Programm soll allerdings das aufrufende Delphiprogramm bleiben. Vielen Dank schon mal. |
Re: Focus nicht abgeben
Hole dir den Focus anschliessend zurück.
|
Re: Focus nicht abgeben
SW_SHOWMAXIMIZED bedeutet, dass das Programm sich in den Vordergrund schieben soll. Du kannst es mal mit SW_MAXIMIZE probieren.
|
Re: Focus nicht abgeben
Das mit SW_MAXIMIZE geht nicht, hab ich alles schon ausprobiert.
Auf die Idee mit dem Focus zurückholen bin ich auch schon gekommen, aber wenn ich wüsste wie das geht, hätte ich die Frage denke ich nicht gestellt. Rein intuitiv fällt mir dazu ein: Application.SetFocus, oder Self.SetFocus Leider gibt es diese Procedures nicht; ABER WIE GEHT DANN??? |
Re: Focus nicht abgeben
Delphi-Quellcode:
Application.BringToFront;
|
Re: Focus nicht abgeben
Vom Prinzip her gute Idee, bloß es geht nicht!
Liegt wohl daran, daß das aufgerufene Programm den Befehl BringToFront 'etwas' später sendet. Man könnte zwar mit Wait eine Notlösung basteln, aber... Ich wüsste gerne wie man das richtig macht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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 by Thomas Breitkreuz