Entwickler-Ecke
Windows API - Handle des Vorgängers ermitteln
Boldar - So 09.11.08 20:52
Titel: Handle des Vorgängers ermitteln
Hallo,
ist es möglich, das Handle desjenigen Controls zu ermitteln, welches den Fokus hatte, bevor mein Programm den Fokus bekam, und dem Wieder den Fokus zu geben?
Also wenn man z.B. von der Suchleiste im Browser zu dem Programm wechselt, das Handle der Suchleiste.
Müsste man dazu den Fokus permanent überwachen?
Welche Möglichkeiten gibt es dazu ausser pollen(gibt es da villeicht eine message)?
Oder geht das sonst irgendwie?
Grüsse
Boldar
Boldar - Mo 10.11.08 15:59
Nun, im Primzip reicht es auch, wenn ich dem Vorgänger-Programm den Fokus zurückgeben kann.
Es gibt ja
aber das gibt ja nicht den Fokus an ein anderes Programm, sondern macht das Fenster nur in den Hintergrund.
Wie kann man überhaupt ermitteln und festlegen, welches Programm den Fokus hat?
Boldar - Mi 12.11.08 21:00
Boldar hat folgendes geschrieben : |
Wie kann man überhaupt ermitteln und festlegen, welches Programm den Fokus hat? |
:PUSH:
Boldar - Do 13.11.08 15:42
Muss ich dann wm_killfocus im private für die Form deklarieren?
Denn so geht es nich, wm_killfocus wird so nie ausgelöst...
jaenicke - Do 13.11.08 16:18
Naja, so bekommst du es ja nur bei dem mit, was an dein Formular gesendet wird. Du müsstest glaube ich einen Hook benutzen, denn anders kommst du glaube ich nicht an fremde Windows Botschaften heran. In der WndProc deines Programms kommen ja nur welche an, die an deine Anwendung geschickt wurden.
Boldar - Do 13.11.08 16:20
Kill_focus wird doch ausgeführt wenn die Form den Focus verliert, oder?
Aber wenn ich in die wm_killfocus reinschreibe
wird die Form trotzdem nie rot...
jaenicke - Do 13.11.08 16:23
Die Botschaft wird an das Control gesendet, das den Fokus hatte, ein Formular ist kein Control. Überschreibe einfach deine WndProc, dann wirst du die entsprechenden Botschaften an dein Programm anfangen können.
Für deine eigenen Komponenten gibts auch OnLeave und OnEnter für Fokus erhalten und verloren.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!