GUI にx
/を使用しています。motif
特定の領域を右クリックするとポップアップするコンテキスト メニューがあります。
右クリックがディスプレイの右端に近すぎて、メニュー自体がディスプレイの端に近すぎる場合、サブメニューには、プライマリ メニューの横に引き出すための十分なスペースがありません。この状況で、サブメニューの右側にスペースがなくなると、メイン メニューと同じスペースを占有し始めます。これにより、メニュー システムがディスプレイの右端近くで使用しにくくなります。
Web デザインなど、他の UI システムについてこの質問をする人を見てきましたが、x
/については何も見つかりませんmotif
。私は現在、クリックされた場所以外の場所にメニューを表示することが可能または合理的かどうかを確認するために実験しています (例: ディスプレイの端近くをクリックすると、メニューは通常の場所の左側に X ピクセル数表示されます)。 、まだスペースがあります)、しかし、それがうまくいくかどうかはわかりません.このような状況では、カスケードメニューを左にカスケードアウトする方が、そのような回避策よりも望ましいでしょう.
Web 上の多くの場所をチェックし、Motif プログラミング マニュアルと Motif リファレンス マニュアルをチェックインしました。そこにあるとすれば、私はそれを見つけていません。
XtVaSetValues
次のようなことができるように、リソースを などで設定することを望んでいます。
XtVaSetValues(menu, XmNsomething, please_go_left, NULL);
これは、利用可能なリソースを使用して (つまり、車輪を再発明するために完全にカスタムのメニュー システムを作成することなく) 合理的であるか、またはまったく可能でしょうか?
質問: コンテキスト メニューのサブメニューを、ディスプレイの端に近すぎるときに右にポップアウトしようとするのではなく、左にカスケードするにはどうすればよいですか?