Form aktivieren und fokussieren

26/01/2010 - 22:47 von Dominik Schmidt | Report spam
Hallo,

ich möchte eine (eigene) Form aktivieren - sie soll fokussiert auf dem
Bildschirm erscheinen. Sie kann minimiert sein, sie kann auch einfach von
einem anderen Fenster verdeckt sein.
Das ist mir bislang nicht gelungen, denn Dinge wie Me.Show oder AppActivate
lassen nur das Fenster in der Taskleiste blinken.
Anders ist es hiermit, ich wollte das Fenster komplett in den Vordergrund
holen, danach wieder in den Normalzustand versetzen, da es ja nicht
dauerhaft alle anderen Fenster überdecken soll:

SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, 3

Das Fenster erscheint auch tatsàchlich, die Titelleiste blinkt, aber es ist
nicht fokussiert.

Ein SetFocusAPI Me.hWnd bringt rein gar nichts.

Wie làsst sich das Problem lösen?
Warum wird das Fenster durch Me.Show nicht einfach fokussiert?
 

Lesen sie die antworten

#1 Heinz-Mario Frühbeis
26/01/2010 - 23:23 | Warnen spam
Hallo,

"Dominik Schmidt" schrieb

ich möchte eine (eigene) Form aktivieren - sie soll fokussiert auf dem
Bildschirm erscheinen. Sie kann minimiert sein, sie kann auch einfach von
einem anderen Fenster verdeckt sein.
Das ist mir bislang nicht gelungen, denn Dinge wie Me.Show oder
AppActivate
lassen nur das Fenster in der Taskleiste blinken.
Anders ist es hiermit, ich wollte das Fenster komplett in den Vordergrund
holen, danach wieder in den Normalzustand versetzen, da es ja nicht
dauerhaft alle anderen Fenster überdecken soll:

SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, 3

Das Fenster erscheint auch tatsàchlich, die Titelleiste blinkt, aber es
ist
nicht fokussiert.

Ein SetFocusAPI Me.hWnd bringt rein gar nichts.

Wie làsst sich das Problem lösen?



Làuft dein Programm "noch" in der IDE ?
Ich hab's schon erlebt, das wenn die Exe erstellt wurde auch der Focus
realisiert wurde.

Schau doch auch mal vielleicht bei SetActiveWindow :

http://msdn.microsoft.com/en-us/library/ms646311(VS.85).aspx

viele Grüße
Heinz-Mario

Ähnliche fragen