2017-12-31 16 views
1

フォームのOnKeyDownイベントを使用して、FiremonkeyのTabItemへのショートカットを割り当てることができません。Firemonkeyにショートカットを割り当てる方法TForm OnKeyDownイベント:

Ctrlキーを押したまま何度も繰り返しているようです。ここで

は私がやろうとしているものです:それは仕事としばらくグーグル後VCL駆動回答の多くを発見していない

procedure TfrmPrincipal.FormKeyDown(Sender: TObject; var Key: Word; 
    var KeyChar: Char; Shift: TShiftState); 
begin 
    if ssCtrl in Shift then 
    begin 
     if UpperCase(KeyChar) = 'L' then 
     TabItem1.SetFocus; 
    end; 
end; 

、私は私を助けることができる何かを見つけることができませんでしたFiremonkeyで。

私は東京10.2.2

任意のヒントを使用していますか?

ありがとうございます。

あなたがより良いことのためのアクションでアクションリストを使用し
+0

また、Keyパラメータを処理して、Key値を見つけることができます(たとえば、Enterキーは13か、EnterにはvkReturnを使用できます)。あなたのコードは、LキーがvkLであり、その値が76であると言っているので、OnKeyDownイベントを使うことができます。これはあなたを助けるでしょう。 if(Key = vkL)then TabControl1.ActiveTab:= TabItem1; –

答えて

3

:あなたのコードについて

procedure TTabbedForm.Action1Execute(Sender: TObject); 
begin 
    TabControl1.ActiveTab := TabItem1; 
end; 

object ActionList1: TActionList 
    Left = 176 
    Top = 272 
    object Action1: TAction 
    Text = 'Action1' 
    ShortCut = 16460 
    OnExecute = Action1Execute 
    end 
end 

TabItem1.SetFocusが動作していない、TabControl1.ActiveTabを使用します。= TabItem1。

Ctrlキーを押したときに、FormKeyDownのKeyCharに値がない場合は、Keyキーを使用します。

関連する問題