メインコンテンツまでスキップ
バージョン: 開発中

Get action info

Get action info ( action {; target} ) -> 戻り値

引数説明
action文字🡒標準アクション名、あるいは(必要であれば)引数を含めたパターン
target倍長整数🡒アクションの情報を取得するターゲットを定義します。メインフォームあるいはカレントフォーム
戻り値オブジェクト🡐アクションのステータスを表したブール型のプロパティを格納するオブジェクト: isEnabled、isVisible、isChecked、isMixed、isUnknownState

説明

Get action info コマンドはカレントのアプリケーションコンテキストに応じて、target 引数で指定したターゲット内で定義されているaction 引数で指定した標準アクションについて、利用可能状況やステータスなどを含む様々な情報を返します。

action 引数には、チェックしたい標準アクションの名前を渡します。文字列あるいは標準アクション テーマの定数を渡すことができます。アクションの詳細リストは4Dデザインリファレンスマニュアルの標準アクション の章にて提供されています。

注: 4D Write Pro ドキュメントに対しては、特定のアクションが追加されています。これらについては、4D Write Pro リファレンスマニュアル内の4D Write Pro標準アクションの使用 の章に詳細な説明があります。

target 引数には、action 引数で指定した標準アクションを実行したいフォームコンテキストがあれば、それを渡すことができます。標準アクションテーマの以下の定数のうちどれか一つを使用することができます:

定数コメント
ak current form倍長整数1カレントフォームはこのアクションが呼び出されたフォームです。メインフォーム、あるいはカレントプロセスのメインフォームの前面にあるパレットフォームのどちらかです。
ak main form倍長整数2メインフォームとは最前面のドキュメントあるいはプロセスのダイアログフォームであり、フロートウィンドウやポップアップウィンドウなどは除きます。

注: target が省略された場合、デフォルトではak current form コンテキストが使用されます。

Get action info コマンドは情報を、以下のプロパティを含むオブジェクトとして返します:

プロパティ詳細
enabledブールアクションが呼び出し可能であればtrue、それ以外の場合にはfalse
status文字列次のどれかの文字列が値として返されます:
"checked"アクションはチェックされている、つまりプロパティが設定されているということを意味します。例: 選択されたテキストが太字であれば、ak font bold 標準アクションの"status"プロパティは"checked"になります。
"unchecked"アクションはチェックされていない、つまりプロパティは設定されていないということを意味します。例: 選択されたテキストが太字ではない場合、ak font bold 標準アクションの"status"プロパティは"unchecked"になります。
"mixed"アクションはミックスされている、つまりプロパティは部分的に設定されているということを意味します。例: 選択されたテキストの一部が太字の場合、 ak font bold 標準アクションの"status"プロパティは"mixed"になります。
titleテキストカレントのアクションラベルの翻訳された名前が入ります。例: 英語版では"Undo"、"Paste"、などになります。
visibleブールアクションがフォーム内で表示されている場合にはtrueになります。
value文字列アクション引数の文字列のカレントの値(あれば)。例えば、標準アクションが"fontSize?value=10pt"であるとき、value プロパティは"10pt"となります。

アクションのステータスが決まらない場合(例えばどのようなオブジェクトやメニューコマンドにも影響されていない場合)、コマンドはnullオブジェクト(未定義)を返します。

例題

コピーの標準アクションが利用可能かどうかを調べたい場合を考えます(つまり何かデータが選択されているかどうかを調べます):

 var $actionInfo : Object
 var $isEnabled : Boolean
 $actionInfo:=Get action info(ak copy)
 If(Not(Undefined($actionInfo.enabled))) //アクションがプロセス内で定義されている
    If(OB Get($actionInfo;"enabled"))
       ... //コピーアクションは利用可能
    End if
 End if

参照

INVOKE ACTION
SET LIST ITEM PARAMETER