2011-09-22 13 views
5

DelphiでTTouchKeyboardを使用すると、他のプログラムにキーストロークを送信することができます。たとえば、TTouchKeyboardコンポーネントを使用してブラウザにパスワードを入力したいとします。私はキーボードをクリックしている間、どのようにブラウザにフォーカスを置かせるのか分かりません。集中TTouchKeyboard:他のプログラムにキーストロークを送信しますか?

答えて

10

TTouchKeyboardは、電流制御にキーを送信します。あなたはフォーカスTEditは、TEDITがキーを受け取ることになります持っているので、もし...

あなたはTTouchKeyboardを含むフォームを作成して追加することができますこの手順:

protected 
    procedure CreateParams(var Params: TCreateParams); override; 

... 

procedure TForm1.CreateParams(var Params: TCreateParams); 
begin 
    inherited CreateParams(Params); 
    with Params do 
    begin 
    ExStyle := ExStyle or WS_EX_NOACTIVATE; 
    WndParent := GetDesktopwindow; 
    end; 
end; 

あなたのフォームがフォーカスを持つことができません...ので、キーは、前の集中制御に送信されます。 (私はちょうどそれをテストし、それは動作します:キーは、このWebページに送信されました)

+0

ビンゴ!私はWS_EX_NOACTIVATEが必要です。 – user

+0

これは、仮想キーボードのキーを押したときにコントロールがフォーカスを失うという点で、私にとってはうまくいかないようです。私は何が欠けていますか?私はこの場合XE2を使用しています。 – SiBrit

関連する問題