4D v14.3メニューの管理 |
||
|
4D v14.3
メニューの管理
メニューの管理
メニューコマンドに関する説明では、メニューの行について述べる部分でメニューコマンドとメニュー項目という用語が同等の意味で使用されています。 4Dランゲージではメニューやメニューバーの管理に、参照によるものと番号によるもの、2つの方法を使用できます。
両方のメニュー管理モードは相互に互換性があり、あなたのインタフェースで同時に使用できます。"メニュー"テーマのほとんどのコマンドは、メニュー番号と参照両方をサポートします。 メニューがMenuRef参照を使用して処理される場合、メニューとメニューバーの間に違いはありません。両方とも項目のリストから構成されます。それらの利用方法のみが異なります。メニューバーの場合、メニューに対応するそれぞれの項目は、それ自身が項目を構成します。これは階層メニューベースのメニューでも同じ原則です。項目はそれ自身がメニューとなり得ます。 メニューが参照で管理される場合、セッション中でこのメニューに対して行われた変更は、このメニューのすべてのインスタンスおよびデータベースのすべてのプロセスに渡されます。 階層リストのように、すべての項目は、セッション全体を通して識別できるようにするユニークな参照を持ちます。この参照はMenuRefと呼ばれ、16文字で表されます。"メニュー"テーマのすべてのコマンドは、メニューを指定するために参照とメニュー番号両方を受け入れます。 メニューバーは、デザインモードのメニューエディタで定義できます。番号で管理する場合、それぞれのメニューバーは番号または名前で識別されま す。(4Dが自動で作成する) 最初のメニューバーは番号が1で、名前はデフォルトでメニューバー番号1となります。メニューエディタ内でこの名前を変更できます。メニューバー名は31 文字までを使用でき、ユニークでなければなりません。 1番目のメニューバーはデフォルトのメニューバーでもあります。1番目のメニューバー以外でアプリケーションを開くには、でSET MENU BAR コマンドを使用します。メニューバーの内容をプログラムで変更することはできません。しかし、それを含むメニューを変更することはできます。静的なメニューに適用されたランゲージコマンドのスコープは、カレントメニューバーです。(* 引数なしの) SET MENU BAR コマンドの呼び出しごとに、すべてのメニューとメニューコマンドは、メニューエディタで定義された元の状態に戻ります。 すべてのメニューバーは、3つのメニュー、ファイル、編集、およびモードメニューを持ちます。
Note: Mac OS Xでは、メニューコマンドの終了に関連づけられるアクションは、自動的にデータベースを起動しているシステムのアプリケーションメニューに配置されます。 ファイルメニュー名を変更したり、メニューコマンドを追加したり、あるいはそのまま使用することも出来ます。ファイルメニューの最後の項目を終了とすることをお勧めします。
Note: 4DはヘルプとMac OS Xのアプリケーションシステムメニューを自動的に管理します。このメニューは4Dについてコマンドを除き、変更することはできません。4DについてはSET ABOUTコマンドで管理できます。 警告: メニューバーは"インタープロセス"です。デザインモードで行われたメニューバー上の更新は、すべてのメニューバーを使用しているプロセスに反映されます。 メニューバーのように、メニューにも番号が付けられています。通常ファイルメニューはメニュー1です。その後メニューは左から右に順に番号が付けら れます。アプリケーションメニュー (Mac OS ) はこのメニューの番号付からは外されます。両プラットフォームにおいて、ヘルプメニューも番号付からは外されます。Count menus コマンドはこれらのメニューを考慮に入れないことに留意してください。例えばメニューバーがファイル, 編集, 顧客, 請求 そして ヘルプメニューから構成されているとき、Count menus は4Dが管理するシステムメニューを除いて、4を返します。 メニューの番号付は例えばMenu selected関数を使用する際に重要です。 メニューがフォームに関連付けられている場合、メニューの番号付スキームは異なります。最初に追加されたメニューは2049から始まります。追加されたメニューを参照するには、通常のメニュー番号に2048を加えます。 各メニュー内のメニュー項目は、項目の1番上から下に向かって連続番号が付けられています (区切り線を含む)。1番上のメニューがアイテム1です。 フォームプロパティを使用してフォームにメニューバーを関連付けることができます。このようなメニューをこのドキュメントでは “フォームメニューバー” と呼びます。 フォームメニューバー上のメニューは、アプリケーションモードで、出力フォームとしてフォームが表示された際のカレントメニューバーに追加されます。 フォームメニューバーは、メニューバー番号で指定します。カレントフォームに付随して表示されたメニューバーの番号が、そのフォームに追加されたメニューバーの番号と同じである場合には、メニューバーは追加されません。 デフォルトで、カスタムメニューバーとともにフォームを表示した時、メニューバーコマンドは無効にされています。つまり、選択してもコマンドは実行 されまません。フォームプロパティのアクティブメニューバーオプションをチェックすることによって動作を変更することができます。これにより、カレントメ ニューバーのコマンドが使用可能となります。 メニューをメニューバーに添付できます。添付されたメニューがコマンドで変更されると、すべてのインスタンスにこの変更が反映されます。添付メニューに関する詳細は、4D Design Reference マニュアルを参照してください。 各メニューコマンドには、プロジェクトメソッドまたは標準アクションを持つことができます。メニューにメソッドまたは標準アクションを割り当ててい ないと、そのメニューを選択したとき4Dはアプリケーションモードから抜けてデザインモードへ戻ります。アプリケーションモードだけが利用可能な場合や、 ユーザがデザインモードへのアクセス権を持たない場合、4Dは終了します。 メニュー項目の管理を容易にするために、4Dはメニューに最後に追加された項目を指定するためのショートカットを提供します。この場合、menuItem 引数に-1を渡します。 |
プロパティ
プロダクト: 4D 参照 ARTICLE USAGE
ランゲージリファレンス ( 4D v12.4) |