Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Trotz Fokus keine Texteingabe im Edit-Feld möglich... (https://www.delphipraxis.net/90784-trotz-fokus-keine-texteingabe-im-edit-feld-moeglich.html)

Daniel G 23. Apr 2007 21:29


Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
Moin,

Ich habe hier ein Deskband, das ein Editfeld beinhaltet. Jetzt soll dieses Deskband (genauer das Editfeld), wenn ich mit irgend einem anderen Programm am Arbeiten bin, den Focus über einen Hotkey erhalten.

Die Registrierung des Hotkeys funktioniert auch wunderbar. Allerdings habe ich ein Problem mit dem Fokus.

So sieht die Prozedur aus, mit der ich auf den Druck des Hotkeys reagiere:

Delphi-Quellcode:
// Trap Hotkey Messages
procedure TfrmVisibleBand.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = id1 then
    begin
      SendMessage(DskbndEdit.Handle,WM_SETFOCUS,0,0);
    end;
end;
WM_SETFOCUS sorgt zwar dafür, dass das Caret munter vor sich hinblinkt (das Feld also den Focus bekommt), ich aber trotzdem nichts in das Feld eingeben kann.

Warum ist das so, und vor allem, wie kann ich das ändern?

Danke für's lesen... ;)

DGL-luke 23. Apr 2007 21:37

Re: Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
hallo, reicht es nicht einfach die Delphi-Referenz durchsuchenSetFocus-Methode des Edits aufzurufen?

Daniel G 23. Apr 2007 21:54

Re: Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
Nein, reicht nicht. Hätte mich aber auch gewundert, da SetFocus ja im Prinzip dasselbe wie WM_SETFOCUS ist.

Sunlight7 23. Apr 2007 23:30

Re: Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
Irrtum, MSDN-Library durchsuchenWM_SETFOUCUS setzt den Fokus nicht, es ist eine Benachrichtigung, das das Fenster den Fokus bekommen hat

Ist die Anwendung im Vordergrund? Sonst kannst Du das mit dem Fokus ohnehin vergessen.

Daniel G 24. Apr 2007 08:19

Re: Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
Moin,

Na ja, was heißt im Vordergrund? Das Ding ist ein Deskband und hockt die ganze Zeit in der Taskleiste. Nur hatte auch ein BringToFront im QT nicht geholfen...
Zitat:

Zitat von Sunlight7
MSDN-Library durchsuchenWM_SETFOUCUS setzt den Fokus nicht, es ist eine Benachrichtigung, das das Fenster den Fokus bekommen hat

Ähä... Na ja, wieder was gelernt... :gruebel:

Sunlight7 24. Apr 2007 19:12

Re: Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
Hilft MSDN-Library durchsuchenSetForegroundWindow und dann SetFocus? :gruebel:

Daniel G 24. Apr 2007 19:59

Re: Trotz Fokus keine Texteingabe im Edit-Feld möglich...
 
Jo, so geht es. Danke dir! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 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