DrDialogでは、各ダイアログ毎にドロップダウン・メニューを使用する事ができます。キーボード・アクセラレータ(ショートカットキー)も、OS/2のシステムがサポートしているので、メニュー内容の指定だけで使用可能になります。ドロップダウン・メニューは、任意の部分をポップアップ・メニューとして呼び出す事が可能です。
ドロップダウン・メニューを作成するには、ドロップダウン・メニュー・ウィンドウを使用します。"_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 0MenuDisabled 書式: oldState = [dialog.][label.]MenuDisabled([newState])
現在の状態を取得 rc = MenuChecked()
ディセーブル状態にセット CALL MenuDisabled 1
ディセーブル状態を解除 CALL MenuDisabled 0MenuText 書式: oldText = [dialog.][label.]MenuText([newText])
現在のテキストを取得 rc = MenuText()
新しいテキストをセット CALL MenuText "NewMenu"
ポップアップメニューを作成するには、まず、ダイアログ選択ウィンドウから、新しい空のダイアログを作ります。このダイアログにドロップダウン・メニューを定義します。必要なサブメニューをメニュー・ウィンドウを使って定義しておき、ポップアップメニューとして呼び出したい階層にラベルを定義します。最後にポップアップメニューを使用するダイアログ/コントロールのShowMenuイベントに、MenuPopUpコマンドを使って、先に定義しておいたラベルを呼ぶようにすれば完成です。これでポップアップメニューに指定されたサブメニューは、マウスのボタン2をクリックする事によって、現在のポインターの位置に表示されるようになります。
MenuPopUp 書式: rc = [dialog.][label.]MenuPopUp([initial])
ポップアップメニューを表示 CALL dialog.label.MenuPopUp
特定メニューを選択して表示 CALL dialog.label.MenuPopUp 'default'