フォームを利用するグラフィック環境向けに定義された GeneXus の各オブジェクトには、独自のメニュー バーとツール バーを設定できます。これを実装する GeneXus オブジェクトは次のオブジェクトです: MenuBar。
注: このオブジェクトは、Graphic ジェネレーター (Visual Basic、Java、Visual FoxPro) でのみ利用できます。
メニュー バーは [ Object ] > [ New Object ] メニュー オプションで (またはオブジェクト作成アイコンをクリックして) 定義します。メニュー バーは次の項目で構成されます:
注: 同じショートカット キーを複数のサブアイテムに割り当てないように注意してください。GeneXus では重複するショートカット キーを管理できません。
メニュー バーのアイテムは、 [ Edit ] > [ Insert ] および [ Edit ] > [ Delete ] メイン メニュー オプションで追加または削除できます。また、アイテムを移動したり (マウスでドラッグ アンド ドロップ)、コピーしたり (Ctrl キーを押しながらマウスでドラッグ アンド ドロップ) することができます。
編集するアイテムをダブルクリックするか、選択したオプション上で入力し始めると、プロパティのフローティング ウィンドウが表示されます。このウィンドウは、右上隅のボタンをクリックすると開いたままになります。
アイテムは、メニュー バー向けか、関連するツール バー向けのいずれかです。定義項目はこの両方で同じです。ただし、ツール バー アイテムにはビットマップが関連付けられるという点が唯一異なります:
Events
サブアイテムのないアイテムは、それぞれ 1 つのイベントに関連付けることができます。イベントは、 [ Insert ] > [ Events ] (CTRL + E) メニュー オプションで選択できます。これらは一般的なイベントであり、メニュー バーを使用するすべてのオブジェクトで実行されます。項目属性が使用されないのはこの理由によります。
Event Menubar.WorKCli call(WWrkCli) // ワーク パネル「Work with Clients」を呼び出す EndEvent
メニュー バーを定義した後は、どのオブジェクトをその中で使用するかを指定する必要があります。その目的で、トランザクションおよびワーク パネルの Windows Interface グループの下に次の新しいプロパティが定義されました: [ Menu bar ] (コンボ ボックスにすべての既存のメニュー バーが表示されます)。メニュー バーにオブジェクトが関連付けられていない場合、デフォルトのメニュー バーが使用されます。
また、これらのオブジェクト (トランザクションおよびワーク パネル) に、メニュー バー アイテムのイベントをプログラムすることもできます。例:
Event MenuBar.ListCli call(TlistCli, CliCod) EndEvent
イベントが定義されたオブジェクトではこれらのイベントのみが使用されるため、次に項目属性を使用できます。
同じイベントがメニュー バーとオブジェクトにプログラムされている場合は、実際に実行されるイベントは、オブジェクト内に直接定義されたイベントです。そのため、メニュー バーに対して一般的な動作をプログラムし、さらにオブジェクトに対して特定の動作をプログラムできます。
メニュー バーは (それを使用するオブジェクトとは別に) 生成する必要があります。メニュー バーが変更された場合、そのメニュー バーを使用するオブジェクトを再生成する必要はありません。
メニュー バーが関連付けられているオブジェクトのイベント ( [ Insert ] > [ Event ] 、ショートカット キー Ctrl + E) では、メニュー バーに定義されたイベントを貼り付けることができます。選択できるイベント名は、メニュー バーまたはツール バーの [ Name ] オプションで定義されているものです。利用可能なイベントの選択時に考慮されるメニュー バーは、オブジェクトのプロパティに設定されているメニュー バーです。つまり、プロパティに設定されたメニュー バーが変更されると、選択できるイベントも変更されます。オブジェクトのプロパティにメニュー バーを設定すると、利用可能なイベントは、その瞬間に保存されたイベントになります。メニュー バーが編集中の場合、イベントが保存されるまではイベントを貼り付けることができません。
注:
|