Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ForceForegroundWindow funktioniert nicht (https://www.delphipraxis.net/114893-forceforegroundwindow-funktioniert-nicht.html)

MacGuyver 2. Jun 2008 14:33


ForceForegroundWindow funktioniert nicht
 
Moin Leute :hi:

ich habe ein Win32-Applikation wo ich ein Fenster mit einer Dosapplikation einbinde. Sieht gut aus so und man kann einen Mischbetrieb fahren. Wenn ich über Turbo Delphi arbeite klappt das gut. Wenn ich dann direkt arbeite, blinkt die Applikation in der Taskleiste auf und erhält den Focus nicht. Kennt jemand das Problem?
Ich habe schon mit

Application.Restore
SetWindowPos
SetFocus

Ach was weiß ich nicht noch probiert. Es klappte jedenfalls nicht.

mfg
Stefan

FAlter 2. Jun 2008 14:56

Re: ForceForegroundWindow funktioniert nicht
 
Hi,

was ist denn heute los :shock: Gerade habe ich im Usenet einen Beitrag verfasst, aus dem kopier ich mal:

Zitat:

Hi,

Alfred Gemsa schrieb:
> Wie mache ich es, dass ich eine Fenster zwingend anzeige und es sich anschließend "zivilisiert" verhält?

Gar nicht. Ich habe die Funktion, die das verhindert, ganz bewusst eingestellt (Tweak UI (für XP) -> General -> Prevent applications from stealing focus). Ansonsten (wenn das Feature deaktiviert ist) holt BringToFront oder Show das Fenster schon in den Vordergrund. Eventuell noch vorher wiederherstellen:

if Form2.WindowState = wsMinimized then
Form2.WindowState := wsNormal;
Form2.Show;

Mfg
FAlter
Die Lösung, die der OP im Usenet gefunden hat, ist dann die hier:
http://www.delphi-fundgrube.de/faq01.htm (ganz unten)

Aber ich persönlich finde es nicht gut, die Einstellungen des Users zu umgehen! Es ist total nervend, wenn jetzt, während ich das hier schreibe, plötzlich ein anderes Programm ankommt und das weiterschreiben verhindert oder sogar durch mein gerade eingegebenes Wort falsche Informationen erhält und dann was-weiß-ich-wie darauf reagiert. Das Blinken in der Taskleiste ist doch vollkommen OK, es sagt mir, dass es da was anzusehen gibt.

Mfg
FAlter

SirThornberry 2. Jun 2008 15:32

Re: ForceForegroundWindow funktioniert nicht
 
ich DENKE man kann das Ergebnis einfach erreichen in dem man nicht versucht ein bereits vorhandenes Fenster in den Fordergrund zu holen sondern einfach ein neues Fenster erzeugen.

MacGuyver 2. Jun 2008 17:46

Re: ForceForegroundWindow funktioniert nicht
 
Tach,

ich habe das Teil mit dem AttachThreadInput ausprobiert. Das hat leider nichts gebracht. Wenn ich die Konsole öffne und dann schließe, bekommt die Win32-Applikation den Focus zurück. Dann hole ich die Konsole mit ForceForegroundWindow in den Fordergrund. Dabei ist die Win32-Applikation der Parent der Konsole. In die Richtung Konsole klappt das immer, nur anders herum nicht.

Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz