AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fokus auf Deskband-Fenster setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Fokus auf Deskband-Fenster setzen

Ein Thema von mh166 · begonnen am 14. Okt 2009 · letzter Beitrag vom 20. Okt 2009
Antwort Antwort
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Fokus auf Deskband-Fenster setzen

  Alt 14. Okt 2009, 15:38
Hallo,

ich hab mal wieder n Problem mit meinem Deskband.

Und zwar hab ich dem jetzt nen Hotkey spendiert: drückt man AltGr+O, dann wird per STRG+C der aktuell markierte Text in die Zwischenablage kopiert und anschließend im Deskband weiter verarbeitet. Diese Infos werden dann ja in einem kleinen Formular angezeigt, dass ich erzeuge.

Nun sollte man ja annehmen, dass eigentlich nix einfacher ist, als den Fokus auf das Fenster zu setzen. Aber weit gefehlt... weder mit QR.SetFocus noch mit Windows.SetFocus(QR.Handle) funktionierts (QR enthält die Instanz von meinem Infofenster, TfrmQueryResult). Ich bekomm auch nicht den Fokus auf das Deskband selbst gesetzt. Im Form vom Deskband Self.SetFocus aufzurufen bringt nichts. Ich kann noch nicht einmal mit Windows.SetFocus(FindWindow('Shell_TrayWnd','')); den Fokus auf die Taskbar setzen.

Das Fenster, von dem aus ich den Hotkey aktiviert habe, behält ständig weiterhin den Fokus. Ich muss wirklich erst mit der Maus auf mein Info-Fenster oder mein Deskband klicken, damit sich das ändert. Ich bin also mal wieder planlos. Vielleicht habt ihr ja ne Idee.


mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Fokus auf Deskband-Fenster setzen

  Alt 19. Okt 2009, 22:37
Hat wirklich keine ne Idee? Mittlerweile hab ich auch schon probiert die Maus zu positionieren und nen Klick zu simulieren — Leider genauso erfolgreich wie die anderen Versuche bisher.

Wäre euch echt für jeden Vorschlag dankbar!

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: Fokus auf Deskband-Fenster setzen

  Alt 19. Okt 2009, 22:52
Ich habe keine Ahnung ob es Dir helfen wird, aber ich hatte ein ähnliches Problem. Dieses löste sich mit
ActiveControl := nil; vor dem SetFocus in Luft auf. Die Methode SetFocus macht nichts, solange das zu fokusierende Steuerelement das aktive ist.
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Fokus auf Deskband-Fenster setzen

  Alt 20. Okt 2009, 20:54
Habs probiert, aber funktioniert leider nich. Das Problem is aber, dass das Fenster nicht den Fokus bekommt. Ich hab ja ein beliebiges Fenster aktiv, drücke AltGr+O und dann reagiert mein Programm auf den Hotkey, indem es Daten abruft und anschließend in einem neuen Fenster anzeigt. Funktioniert auch — bis auf die Tatsache, dass das Fenster keinen Fokus bekommt ...

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Fokus auf Deskband-Fenster setzen

  Alt 20. Okt 2009, 20:58
Versuche mal MSDN-Library durchsuchenSetForegroundWindow. In der Vergangenheit gab es damit eine Menge Ärger, weil Programme sich in den Vordergrund gedrängelt haben, aber nach dem Drücken eines Hotkeys solltest du das dürfen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Fokus auf Deskband-Fenster setzen

  Alt 20. Okt 2009, 22:54
You made my day. In der Tat wird jetzt eeeendlich mal mein Fenster in den Vordergrund gebracht. Danke dir!

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 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