4

Delphi の TAction の SecondaryShortCuts-Feature を使用しました。ただし、ショートカットは「F5」や「Shift + F5」などの文字列で定義されます。ここで問題: 私のドイツ語 Windows では、キー "Shift" はドイツ語で "Umsch" と呼ばれるため、アクションが起動しません! これは、SecondaryShortCuts-Property が設計時に完全に役に立たないということですか?

VK_SHIFT を正しい名前に変換することで、実行時にキーを設定できました。GetKeyNameTextで試してみましたが、「Umsch」ではなく「Umschalt」という長い形式になったため、うまくいきませんでした。キー名の短いバージョンを取得する関数を知っている人はいますか?

4

1 に答える 1

5

これを試すことができます: ショートカットからショートカット テキストを生成します。

var
  s: TShortCut;
begin
  s := ShortCut(Ord('A'), [ssShift]);
  Action1.SecondaryShortCuts.Add(ShortCutToText(s));

ちなみに、これらの値は以下の定数で決まります。それらを翻訳しましたか?もしそうなら、あなたはする必要がありますか?:

SmkcShift = 'Shift+';
SmkcCtrl = 'Ctrl+';
SmkcAlt = 'Alt+';
于 2012-10-30T12:09:30.723 に答える