戻る

第5章 ドロップダウン・メニューとポップアップ・メニューの作り方


 DrDialogでは、各ダイアログ毎にドロップダウン・メニューを使用する事ができます。キーボード・アクセラレータ(ショートカットキー)も、OS/2のシステムがサポートしているので、メニュー内容の指定だけで使用可能になります。ドロップダウン・メニューは、任意の部分をポップアップ・メニューとして呼び出す事が可能です。

1.ドロップダウン・メニューの作成

 ドロップダウン・メニューを作成するには、ドロップダウン・メニュー・ウィンドウを使用します。"_1st_"というトップレベルから、Text欄に指定したメニュー文字列をInsertグループのSub Menu/Menu Itemを使用して定義して行きます。必要に応じてSeparatorを使用して見かけ上の分類を行います。各メニューの選択時に実行される内容は、Action欄にREXXコードで指定します。

 メニュー名の特定文字の直前に"~"を使用する事によってキーボード・アクセラレータを指定する事ができます。定義済みのメニューは、ドロップダウン・メニュー・ウィンドウのメニューとして表示されるので、ここで結果を確認する事ができます。

 メニューのチェック状態はMenuCheckedコマンドで、またEnable/Disable状態はMenuDisabledコマンドで制御する事ができます。MenuTextコマンドを使えば、メニューに定義してあるテキストを変更する事も可能です。
MenuChecked書式:oldState = [dialog.][label.]MenuChecked([newState])
現在の状態を取得 rc = MenuChecked()
チェック状態にセット CALL MenuChecked 1
チェック状態を解除 CALL MenuChecked 0
MenuDisabled書式:oldState = [dialog.][label.]MenuDisabled([newState])
現在の状態を取得 rc = MenuChecked()
ディセーブル状態にセット CALL MenuDisabled 1
ディセーブル状態を解除 CALL MenuDisabled 0
MenuText書式:oldText = [dialog.][label.]MenuText([newText])
現在のテキストを取得 rc = MenuText()
新しいテキストをセット CALL MenuText "NewMenu"

2.ポップアップ・メニューの作成

 ポップアップメニューを作成するには、まず、ダイアログ選択ウィンドウから、新しい空のダイアログを作ります。このダイアログにドロップダウン・メニューを定義します。必要なサブメニューをメニュー・ウィンドウを使って定義しておき、ポップアップメニューとして呼び出したい階層にラベルを定義します。最後にポップアップメニューを使用するダイアログ/コントロールのShowMenuイベントに、MenuPopUpコマンドを使って、先に定義しておいたラベルを呼ぶようにすれば完成です。これでポップアップメニューに指定されたサブメニューは、マウスのボタン2をクリックする事によって、現在のポインターの位置に表示されるようになります。
MenuPopUp書式:rc = [dialog.][label.]MenuPopUp([initial])
ポップアップメニューを表示 CALL dialog.label.MenuPopUp
特定メニューを選択して表示 CALL dialog.label.MenuPopUp 'default'

戻る