PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Focuswechsel unterdrücken?!?


Djon
2006-01-16, 10:30:03
Hallo!!!

Durch mein Programm wird ständig eine html-Seite generiert und im Standard-Browser geladen und in diesem Moment bekommt der Browser den Fokus und das nervt mich ständig. Wie könnte ich diesen Fokuswechsel ignorieren?


Mfg Djon

Silpion
2006-01-16, 19:35:33
Das sollte nicht allzu kompliziert sein, versuch einfach mal im Programm nach der Generierung der Seite den Fokus zu setzen, in etwa so:

lalala();
generateHTML();
this.requestFocus();

Monger
2006-01-16, 19:45:06
Du hast übrigens nie eine Garantie darauf, den Focus zu bekommen. Du kannst darum bitten (deshalb heißt es auch "request"), aber ob du ihn kriegst ist eine andere Frage.

Djon
2006-01-17, 07:54:03
Hallo!!!

Das Problem liegt daran, dass wenn ich eine HTML-Anfrage wegschicke, kommt eine zeit später eine Antwort darauf, und diese wird dann automatisch im Browser aufgemacht und dadurch bekommt Browser in diesem Moment den Focus :-(

Mfg Djon

elianda
2006-01-17, 09:45:58
Eine Sache, die mich in dem Zusammenhang interessieren wuerde:
Kann man einem anderen Programm komplett verbieten, dass es den Fokus bekommt?
Sowas, was typischerweise kommt, wenn unter Win die Applikation in der Taskleiste blinkt, aber nicht in den Vordergrund kommt.

Der Hintergrund ist, dass ich hier ein Labview Programm habe, dass permanent in den Vordergrund draengt, so dass man nichts andres machen kann. Labview holt dauernd den Fokus wieder und das nervt extrem.

Monger
2006-01-17, 09:54:32
Eine Sache, die mich in dem Zusammenhang interessieren wuerde:
Kann man einem anderen Programm komplett verbieten, dass es den Fokus bekommt?

Meines Wissens eben nicht. Ich würde dafür aber nicht die Hand ins Feuer legen...

Welches Programm wann den Focus bekommt, entscheidet das Betriebssystem. Die Programme äußern Bedarf Am Focus, und Windows verteilt diese Zeit nach eigenem ermessen. Da ein Programm ja gar nicht wissen kann, welche anderen Programme derzeit auf dem Bildschirm sind und um den Focus buhlen, kann man dem Betriebssystem auch nicht sagen: "Bitte hör nur auf mich, aber nicht auf den!"

Ich vermute, wenn man bestimmte Sorten von Nachrichten unterdrücken will, muss man ziemlich tief ins Betriebssystem rein.

mithrandir
2006-01-17, 10:15:41
Dere!

Ich kann's nur fuer Java sagen: Hier wuerde das eigene Fenster einen Event bekommen (z.B. WindowDeactivated), wenn es den Fokus verliert. In dem Fall kann man natuerlich eingreifen und selbst wieder den Fokus "verlangen", was in der Regel eigentlich auch funktionieren sollte. Es ist nur nicht sinnvoll, so etwas generell zu machen, zumal man vom Betriebssystem IMO nicht mitbekommt, welche andere Anwendung ueberhaupt fokusiert werden soll.

bye, Peter