4D Write Proのために独自のコンテクストメニューを作成する

Deeplからの自動翻訳

4Dは、あなたのビジネスアプリケーションに完全に適合するように、 4D Write Pro のユーザーインターフェイスをカスタマイズする新しい可能性を提供します。デフォルトの4D Write Pro コンテキストメニューを使用する代わりに、4D開発者は、提供したい アクションの正確なリストを含む独自のコンテキストメニューを作成することができます。

4D v16 R3 からは、以下のことが可能になりました

  • デフォルトのコンテクストメニューを、あなた自身のメニューで置き換えることができます。
  • 表示したいアクションを選択します。
  • 表示させたいアクションを選択し、項目の順序を自由に変更できます。
  • サブメニューを追加して、独自の階層を作ることができます。

このメニューを再現するのは面倒で複雑だと思っていませんか? 標準のアクションを使えば、とても簡単です。

サンプルをダウンロードする

コンテクストメニューの作成方法を知りたい方は、サンプルデータベースをダウンロードしてください。

サンプルデータベース

例のハイライト

以下は、4D Write Pro のコンテキストメニューを作成するためのプログラミングのステップを理解するために、添付されたデータベースのキーポイントをリストアップしたものです。

コンテクストメニューを4D Write Proのエリアに関連付ける

4D methodの中で 4D Write Pro objectメソッドでは、ダイナミックポップアップメニューコマンドを持つオブジェクトのコンテクストメニューにメニューを関連付けます。以下にコード例を示します。

Case of
: (Form event=On Clicked)
If (Contextual click)
Dynamic pop up menu (myMenu)
End if
End case

メニューの作成

4D methodメソッドで Formメソッドでは、例えば “On Load” イベントで独自のメニューを作成することができます。以下は、コード例です。

Case of
: (Form event=On Load)
C_TEXT (myMenu)
createMyMenu
: (Form event=On Unload)
// release menu
RELEASE MENU (myMenu)
End case

メニューの利用が終了したら、メニューを解放することを忘れないでください。

4D methodメソッド createMyMenuメソッド…….

// Create menu
myMenu:=Create menu

メニューの追加

// Insert the "copy" item
APPEND MENU ITEM(myMenu;ak standard action title)
SET MENU ITEM PROPERTY (myMenu;-1;Associated standard action;ak copy)

自動サブメニューの追加

// Insert the "fontStyle" myMenu
APPEND MENU ITEM(myMenu;ak standard action title)
SET MENU ITEM PROPERTY (myMenu;-1;Associated standard action;ak font style
)

カスタマイズされたサブメニューの追加

// Create sub menu size
menuSubSize:=Create menu
// Insert a sub menu item
APPEND MENU ITEM (menuSubSize;ak standard action title)
SET MENU ITEM PROPERTY (menuSubSize;-1;Associated standard action; "fontSize?value=10pt")
// Associate the "menuSubSize" sub-menu to the "Size" item of myMenu
APPEND MENU ITEM (myMenu; "Size";menuSubSize
)

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