メニュープロパティ
アクション、フォントスタイルや区切り線、キーボードショートカット、アイコンなど様々なメニュー項目プロパティを設定できます。
タイトル
タイトル プロパティには、アプリケーションインターフェースに表示されるメニュー/メニュー項目のラベルを指定します。
メニューエディターを使って、テキストリテラルを直接、ラベルとして入力することができます。 または、変数参照、xliff参照を使用することもできます。これによりアプリケーションの翻 訳が容易になります。 次のの参照タイプを使用できます:
- :xliff:MyLabel という形の XLIFFリソース参照。 XLIFF参照についての詳細は、4D デザインリファレンス の XLIFF アーキテクチャー の章を参照ください。
:<>vlang,3
という形のインタープロセス変数名と、それに続く数値。 この変数の内容を変更すると、メニューが表示される際にラベルも変更されます。 この場合、ラベルは XLIFFリソースを呼び出します。<>vlang
変数に含まれる値は group 要素の id 属性値に対応します。 二つ目の値 (例では3) は trans-unit 要素の id 属性の値を指定します。
4Dランゲージを使う場合は、APPEND MENU ITEM
、INSERT MENU ITEM
、および SET MENU ITEM
コマンドの itemText パラメーターでタイトルプロパティを設定します。
制御文字の使用
メニュータイトルに制御文字 (メタ文字) を直接使用し、メニューのプロパティをいくつか設定することができます。 たとえば、メニュータイトルに "/G" という文字を入れると、キーボードショートカットである Ctrl+G (Windows) または Command+G (macOS) を割り当てることができます。
制御文字は、表示されるメニューラベルには含まれません。 したがって、制御文字として利用しない場合は、これ らの文字の並びをタイトルに使用しないことが推奨されます。 制御文字には次のようなものがあります:
文字 | 説明 | 効果 |
---|---|---|
( | 開く括弧 | 項目を無効化 |
<B | 小なりB | 太字 |
<I | 小なりI | イタリック |
<U | 小なりU | 下線 |
!文字 | エクスクラメーションマーク+文字 | 文字をチェックマークとして追加 (macOS); チェックマークを追加 (Windows) |
/文字 | スラッシュ+文字 | 文字をショートカットとして追加 |
引数
各メニュー項目にカスタム引数を関連付けることができます。 メニュー項目の引数は、その内容を自由に設定できる文字列です。 メニュエディターで設定するほかに、SET MENU ITEM PARAMETER
コマンドを使う方法もあります。
メニュー項目の引数は、とくに Dynamic pop up menu
、Get menu item parameter
、そして Get selected menu item parameter
コマンドを使用する際など、メニューをプログラムで管理するのに便利です。
動作
メニューにはプロジェクトメソッドや標準アクションを割り当てることができます。 メニュー項目が選択されると、4D は割り当てられた標準アクションまたはプロジェクトメソッドを実行します。 例えば、月次報告書 メニューコマンドを設定し、財務データを格納したテーブルをもとに月次報告書を作成するプロジェクトメソッドを呼び出すことができます。 カット メニューコマンドは、cut
標準アクションを呼び出して、選択項目をクリップボードへ移動し、それを前面にあるウインドウから消去します。
標準アクションやメソッドをメニューに割り当てていない場合、そのメニューを選択すると、4D はアプリケーション環境からデザインモードに戻ります。 デザインモードに移行できない場合は、4D を終了します。
標準アクションは、システム機能に関連した操作 (コピー、終了、等) や、 データベースに関連した操作 (レコード追加、全選択、等) を実行するのに使用します。
標準アクションとプロジェクトメソッドの両方をメニューに割り当てることも可能です。 この場合、標準アクションが実行されることはありません。しかし、4D はこのアクションを使用し、状況に合わせてメニューコマンドを使用可/使用不可に設定します。 メニューが使用不可の場合、割り当てられたプロジェクトメソッドは実行されません。
求める結果の種類によって、標準アクションまたはプロジェクトメソッドのいずれを割り当てるかを選択します。 原則として、標準アクションは最適化された方法で実行される (コンテキストに応じたメニューの有効/無効の自動切り替え) ため、できるだけこちらを選ぶ方が良いでしょう。
プロジェクトメソッドまたは標準アクションの割り当て
メニューエディターにて、標準アクション/プロジェクトメソッドをメニューに割り当てることができます:
- メソッド名: 既存のプロジェクトメソッドをコンボボックスで選択します。 プロジェクトメソッドがまだ存在しない場合、"メソッド名" コンボボックスにメソッド名を入力し、[...] ボタンをクリックします。 すると、4D はメソッド作成ダイアログボックスを表示し、コードエディターを開きます。
- 標準アクション: 割り当てたいアクションを "標準アクション" コンボボックスから選択するか、記述します。 サポートされているアクションと引数 (任意) であれば、エリア内に入力することができます。 標準アクションの一覧については、デザインリファレンス の 標準アクション を参照してください。 macOS に関する注記: macOS の場合、プラットフォームインタフェース標準に合わせるために、quit (終了) アクションが割り当てられたカスタムメニューコマンドは自動でアプリケーションメニュー内に置かれます。
4Dランゲージで割り当てをおこなう場合、プロジェクトメソッドには SET MENU ITEM METHOD
コマンド、標準アクションには SET MENU ITEM PROPERTY
コマンドを使います。
新規プロセスで開始
メソッドを割り当てたメニューの場合、新規プロセスで開始 オプションが利用可能です。 このオプションは、メニューエディターのチェックボックスによって設定するほかに、SET MENU ITEM PROPERTY
コマンドに property 引数を渡して設定することもできます。
新規プロセスで開始 チェックボックスを選択した場合、4D はそのメニューコマンドが選択されると新しいプロセスを作成します。 通常、メニューコマンドに割り当てたメソッドは、明示的にプログラムから新規プロセスを作成しない限り、カレントプロセスで実行されます。 新規プロセスで開始 チェックボックスを選択すると、新規プロセスを簡単に開始することができます。 このチェックボックスを選択した場合は、このメニューコマンドを選択すると新規プロセスが作成されます。
プロセスリストにおいて、4D は "ML_プロセス番号" というフォーマットのデフォルト名を新規プロセスに割り当てます。 このように、メニューから開始されたプロセスの名前は、接頭辞 "ML_" とプロセス番号を組み合わせて設定されます。