IT用語集 › プログラミング › XmMenuShell

XmMenuShell

プログラミング Svenska → 更新: 2026-10-24

すべてのプルダウンメニューとポップアップメニューが収まる、目に見えないMotifのシェル。ウィンドウマネージャを介さず、メニューを最前面に出せる。

メニューはトップレベルウィンドウであり、Xtではトップレベルウィンドウにシェルが必要だ。XmMenuShellはOverrideShellのサブクラスなので override-redirect を設定する。つまりフレームもタイトルバーもなく、配置のポリシーもウィンドウマネージャから受けない。プログラマが手作業で作ることはまずない。XmCreatePulldownMenu と XmCreatePopupMenu がXmRowColumnを作ってメニューシェルに入れ、同じ親の下にある複数のプルダウンは、ウィンドウを節約するため一つのシェルを共有する。

メニューが表示されている間、Motifはポインタとキーボードをグラブする。そのため、別の場所をクリックすると他のアプリケーションに届かず、メニューが閉じるだけになる。Motif 1.xのポップアップメニューでは、右ボタン用のイベントハンドラを手書きして XmMenuPosition を呼び、XtManageChild する必要があったが、Motif 2.0では自動で処理できるようになった。

← 用語集に戻る