XmCreateOptionMenu(3XM) — NEWS-OS Programmer’s Manual
名称
XmCreateOptionMenu — RowColumn widget 簡易生成関数
形式
#include <Xm/RowColumn.h> Widget XmCreateOptionMenu (parent, name, arglist, argcount)
Widgetparent;
Stringname;
ArgListarglist;
Cardinalargcount;
解説
XmCreateOptionMenu は XmMENU_OPTION 型の RowColumn widget のインスタンスを生成し、それに関する widget ID を返します。
これは、OptionMenu として動作するように構成された RowColumn widget を生成するための簡易関数として供給され、独立した widget クラスとしてはインプリメントされていません。
OptionMenu widget はラベル、選択領域、一つの Pulldown MenuPane からなる 特殊化した RowColumn マネージャです。 アプリケーションが OptionMenu widget を生成すると、ラベル文字列と Pulldown MenuPane を供給します。 実行を成功させるには、この関数を呼ぶ時に有効な XmNsubMenuId リソースが設定されていなければなりません。 OptionMenu を生成する時には、Pulldown MenuPane が OptionMenu の親の子として生成されていて、それを指定しなければなりません。 LabelGadget と選択領域 (CascadeButtonGadget) は、OptionMenu によって生成されます。
OptionMenu はその widget の左側にラベルが表示され、右側に選択領域が置かれた状態にレイアウトされます。 選択領域には 2 つの目的があります。 関連する Pulldown MenuPane から選択された最後の項目のラベルを表示することと、Pulldown MenuPane を表示する手段を与えることです。
通常、OptionMenu は、自分の周囲や内部の LabelGadget を三次元表示しません。 デフォルトでは内部の CascadeButtonGadget には 3 次元の影がつきます。 アプリケーションでこれを変更するには、XmOptionButtonGadget を用いて CascadeButtonGadget の ID を得たのち、標準の視覚に関連するリソースを使って XtSetValues を呼びます。
Pulldown MenuPane は、マウスポインタを選択領域の上に動かし、OptionMenu の XmNwhichButton リソースに定義されるマウスボタンを押すことで表示されます。 Pulldown MenuPane は、最後に選択された項目が選択領域の真上にくるように置かれ、表示されます。 その時希望のメニューの項目をアームするのにマウスが使われます。 マウスのボタンを離すと、アームされたメニューの項目が選択され、選択領域の中のラベルが、その選択された項目のそれと同じになるように変更されます。 デフォルトでは、OptionMenu と対話するのにマウスボタン 1 が使われます。 このデフォルトは RowColumn のリソース XmNwhichiButton により変更することができます。
OptionMenu は、キーボードインターフェースによって操作することもできます。 アプリケーションで OptionMenu にニーモニックを設定しておけば、そのニーモニックをタイプすれば Pulldown MenuPane が表示され、トラバースすることが可能となります。 その際 MenuPane 中を移動するために標準的なトラバースキーを使うことができます。 リターンキーを押すか、メニューの項目のうちの一つのニーモニックかアクセラレータをタイプすることで選択が生じます。
アプリケーションは、Pulldown MenuPane のどの項目を現在の選択結果としてあつかい、そのラベルを選択領域に表示させるかを示すのに、リソース XmNmenuHistory を使うことができます。 デフォルトでは、Pulldown MenuPane の最初の項目が用いられます。
parent親 widget の ID を指定します。
name生成される widget の名前を指定します。
arglist引数のリストを指定します。
argcount引数のリスト (arglist) の中の「属性 / 値」の組の数を指定します。
RowColumn の完全な定義とそれに関連するリソースについては、XmRowColumn(3XM) を参照してください。
リターン値
RowColumn widget の ID を返します。
関連事項
XmCascadeButtonGadget(3XM), XmCreatePulldownMenu(3XM), XmLabelGadget(3XM), XmRowColumn(3XM)
NEWS-OSRelease 4.1C