メニューの作り方


ここではコマンドリストを使ったメニューの作り方を説明します。といってもそれほど難しくないです。


◆ メニューの構成

メニューはコマンドリストで作ります。そのコマンドリストをBuilt-in コマンドの*Menuで表示してメニューとなります。

さてここで強調しておきたいことはコマンドリストがそのままメニューになる、ということです。要するにメニューが作りたければ メニューにしたいアイテムをそのままコマンドリストに並べてやって*Menuコマンドでそのコマンドリストを表示してやればいいのです。

それじゃあサブメニューはどうすんだ?これも簡単です。サブメニュー化したいアイテムを*Format StartSubMenuコマンドと*Format EndSubMenuコマンドで挟んでやればいいのです。 サブメニューの名前は*Format StartSubMenuでのNameで書いたものとなります。

具体的に例を見てみましょう。これを真似すればほとんど対処できるはずです。



上図のようにコマンドリストを組みました。これをメニューとして表示するとどうなるかというと



こうなります。サブメニューの中にサブメニューがありますね。このようにサブメニューの中にサブメニューを入れ子にして使うことも できます。コマンドリストとメニューの対応関係によく注目してください。入れ子にする場合はちょっとわかりにくくなるので注意して ください。上の例では3番目と最後のアイテム、6番目と最後から2番目のアイテムがそれぞれサブメニューの対応関係を作っています。

Context Menuについてもサブメニューと全く一緒です。*Format Contextと*Format EndContextで挟んでやればいいのです。 Context Menuについてはデモンストレーション のMenuとContext Menuを参考にしてください。


◆ メニューの表示

今度はコマンドリストで作ったメニューを表示する方法です。メニューを表示する方法は主に2種類あります。それは *MenuコマンドのShowアクションとShowAtButtonアクションを使う方法です。この2つの違いは何でしょう?

  • Show・・・マウスポインタのある場所にメニューを表示
  • ShowAtButton・・・バーから出てきたように表示
となりますが、わかりやすく図で見てみましょう。

ShowShowAtButton


違いがわかるでしょうか。Showはバー上のボタンを押したときのマウスポインタのところで出ています。 ShowAtButonは押したボタンから出てきたように表示されます。

結論を言うとバー上のボタンを押したときにメニューを出すときはShowAtButton、そうでないときはShowを使うということになります。 別にバー上のボタンを押したときもShowでいいのですがあまりかっこよくないですね。


トップに戻る