標準アクションを使用するためのすべてのオプションが表示されます。

Deeplからの自動翻訳

開発者の中には、自動アクションは初心者のためのものだと考えている人がいます。しかし、彼らは私たちが過去数年間に追加した多くの可能性を見逃しているかもしれません。標準的なアクション、たとえば First Recordまたは color?value=redのような標準的なアクションは、ユーザーインターフェイスのボタンに割り当てたり、プログラミングで指定することができます。アクションは、メニュー項目やコンテキストメニューに割り当てたり、コマンドで呼び出したりすることができます。アクションが適用されない場合(例えば、次のレコードがない場合など)、4Dはメニュー項目やボタンの無効化も自動的に処理することができるという利点があります。

4DWrite Proと Styled Textには 100以上の新しいスタンダードアクションが追加され、一行のコードも書かずにツールバーなどを構築することができます!また、4D v16 R3からは、スタンダードアクションのリストは、さらに充実しています。

まとめると、標準アクションは、3つの異なる方法で使用できます。

  • 標準アクションをオブジェクトに関連付ける:設計段階(プロパティリストを使用)またはプログラミングで。
  • 標準アクションをメニュー項目に関連付ける: 設計段階 (ツールボックスを使用) またはプログラミングによる
  • 新しいINVOKE ACTION Get action info コマンド

標準アクションをオブジェクトに関連付ける

設計段階

プロパティリストを使用すると、標準アクションをアクティブなフォームオブジェクトに関連付けることができます。この例では、「レコードの削除」標準アクションをボタンに関連付けます。

Delete Record action in Property List

詳細については、ドキュメントのこの記事を参照してください。

プログラミングによる

アプリケーションの実行中に、プログラミングによって現在のプロセスに標準アクションをオブジェクトに動的に関連付けることができます。つまり、プロパティ一覧で定義された標準アクションを上書きするわけです。

例えば、標準のアクションを “btn “に関連付けるとします。 Delete Record 標準アクションを “btnDelete “ボタンに関連付けるとします。

OBJECT SET ACTION(*; "btnDelete";ak delete record)または、定数の代わりに値を使用する場合。

OBJECT SET ACTION(*; "btnDelete"; "deleteRecord") となります。

また、定数の代わりに値を使用する場合は、アクションと一緒にパラメータを渡すこともできます。この例では、選択されたテキストにマゼンタ色を適用しています。

OBJECT SET ACTION(*; "btnDelete"; "color?value=magenta")

詳細は、各コマンドのドキュメントを参照してください。

メニュー項目に標準アクションを関連付ける

設計段階において

メニューエディタを使用して、標準アクションをメニューアイテムに割り当てることができます。例えば、4D Maintenance and Security Centerを開くためのメニュー項目を追加するには、ポップアップウィンドウで関連する標準アクションとして mscアクションを標準アクションとして選択します。

blank

アプリケーションを実行すると、メニューが表示されます。

blank

何らかの標準的なアクションでサブメニューを作成することができます。例えば、フォントのスタイル(ボールド、イタリック…)を適用するためのサブメニューを追加するには、ポップアップメニューで関連する標準アクションとしてアクションを選択するだけです。 fontStyleアクションを選択します。

Create a font style menu with standard automatic action

アプリケーションを実行すると、メニューが表示されます。

Menu fontStyle with standard automatic action

詳しくは、ドキュメントのこの記事を参照してください。

プログラミングで

SET MENU ITEM PROPERTY コマンドに標準アクションを渡すこともできます。4D v16 R3以降では、APPEND MENU ITEM コマンドにタイトル名の代わりにak standard action title 定数を渡すと、4Dはローカライズされたアクション名を使用します。

例えば、ポップアップメニューに、最初、最後、次のレコードに移動するメニュー項目を追加する場合、次のようなコードを記述します。

  • Formメソッドで。

Case of
: (Form event=On Load) := ( ; ) ( ;-1; ; ) ( ; ) ( ;-1; ; ) ( ; ) ( ;-1; ; ) :( = ) ( )
// create menu
menu //insert last record menu itemCreate menu
//insert first record menu item
APPEND MENU ITEMmenuak standard action title
SET MENU ITEM PROPERTYmenuAssociated standard actionak first record

APPEND MENU ITEMmenuak standard action title
SET MENU ITEM PROPERTYmenuAssociated standard actionak last record
//insert next record menu item
APPEND MENU ITEMmenuak standard action title
SET MENU ITEM PROPERTYmenuAssociated standard actionak next record
Form eventOn Unload
// release menu
RELEASE MENUmenu
End case

  • ポップアップメニューを表示するbuttonメソッドで。

$val:=Dynamic pop up menu(menu)

これで、異なる言語でアプリケーションを実行すると、メニューが表示されるようになります。

blank

詳しくは、これらのコマンドのドキュメントを参照してください。

INVOKE ACTION コマンド

となります。 INVOKE ACTIONコマンドは、4D v16 R3で追加され、actionパラメータで定義された標準アクションをトリガーします。 targetのコンテキストで定義された標準アクションをトリガーします。標準アクションが現在のコンテキストで適用可能かどうか、有効かどうかを知るには、新しい Get action infoコマンドを使用します。

構文は次のとおりです。

INVOKE ACTION ( {; } )action target

例えば、MSCのオープンを変更する場合は、次のように記述します。

C_OBJECT

($actionInfo)
// Check if this standard action is available and valid in this current context
$actionInfo :=Get action info(ak paste;ak current form)
If (OB Get($actionInfo; "enabled"))
// This standard action is enabled INVOKE ACTION (ak paste;ak current form)
Else ALERT ("This action is impossible. The clipboard is empty.")
End if

詳細は、これらのコマンドのドキュメントをお読みください。

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。