4

それは面白いです:)しかし、どのように何かをするのActionList1.MyAction.Enable:=falseですか?

アクションリストにはボタンのアクションがあります。ボタンが表示されていない場合は、そのアクションを無効にする必要があります(これを行わず、ショートカットを提示すると、手順が実行されます)。

何か間違ったことをしたのかもしれませんが、ボタンにアクションを割り当てませんでした。アクション付きのアクションリストしかありません。各アクションにはショートカットがあります。このショートカットを押すと、アクションが実行され、プロシージャが実行されます。ボタンをクリックすると->同じ手順が実行されます。

State:=asSuspendedアクションリスト全体用です。

ありがとう!!!

4

2 に答える 2

6

ボタンのActionプロパティを割り当て、アクションを介してすべてを制御する必要があります。アクションを無効、非表示などに設定すると、ボタンがそれに続きます。

ボタンのOnClickイベントハンドラーを設定せず、代わりにアクションの対応するイベントを使用してください。アクションのOnUpdateイベントを使用して、Visible、Enabledなどのプロパティを設定します。基本的には、実行時に変更されるすべてのものです。

于 2011-07-19T18:15:28.603 に答える
1

TActionList1つ以上のを含むリストTActionです。

TAction 次のプロパティがあります
。AutoCheck
キャプション
チェック 済み
有効
GroupIndexHelpContextHelpKeyword
HelpType Hint
ImageIndex SecondaryShortCuts ShortCut Visible





Enabledは、Davidのアドバイスに従い、TActionListを使用してすべてを実行する限り、問題なく機能するはずです。

taction.enabledまたは、うまくいかない場合は、いつでもテストして、設定actionxxxx.shortcut := '';でうまくいくかどうかを確認できます。
そうでない場合は、他のショートカットがキーストロークをインターセプトしています。

参照:
http ://docwiki.embarcadero.com/VCL/XE/en/ActnList.TAction
http://docwiki.embarcadero.com/VCL/en/ActnList.TActionList

于 2011-07-19T18:23:16.077 に答える