Ctrl+ +、Ctrl+ -、およびCtrl+0を、アプリケーションのズームイン、ズームアウト、およびデフォルトのズーム (通常は 100%) アクションのショートカットとして使用するのが自然に思えるかもしれません。現在、Delphi ではCtrl++とCtrl+0をショートカットとして割り当てることができます。ただし、前者では、キーボードの主要部分のプラス記号を使用する必要があります。テンキーのプラス記号は使用できません。
Ctrlただし、 +-をショートカットとして割り当てたい場合に問題が発生します。それは単に機能しません。IDE で「Ctrl+-」を割り当てると、ShortCut
プロパティに格納される値は16495
. これを差し引くssCtrl
と、111 が得られます。回避策は、 を代入することShortCut := 45 + ssCtrl
、または同等にを代入するShortCut := Menus.ShortCut(45, [ssCtrl])
ことであると思われord('-') = 45
ます。しかし、それはうまくいきません。
ただし、実用的な解決策を見つけました: ShortCut := 189 + ssCtrl
. KeyDown
「-」キーを押してイベントを聞いたときに受け取る番号であるため、189 を選択します。
それで、なぜ私はこれに満足していないのですか?残念ながら、定数 189 はスウェーデン語キーボードでのみ有効です。私はこれについて読もうとしましたが、いつものように、MSDN のドキュメントはかなり明確ですが、Delphi がどのように処理するかを知っている人はいません。