- ベストアンサー
Motifのイベント制御について
- Motifのイベント制御方法について教えてください。
- LinuxでMotifを使用してプログラムを作成していますが、フォーカスがあたっているボタンにEnterキーが反応せず、代わりにSpaceキーが反応する問題が発生しています。
- また、スクロールウインドウ内での図形描画時にスクロールバーが最終端まで移動してしまう問題も発生しており、対処方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プログラム中からの変更する場合、widgetをcreateする時に Argに同様の設定を追加します。 こんな感じ。 static char trnsdef[] = "#override \n" " <Key>Return: ArmAndActivate() "; XtTranslations trns; Arg arg[32]; int argno = 0; trns = XtParseTranslationTable( trnsdef ); XtSetArg( arg[argno], XmNtranslations, trns ); argno++;
その他の回答 (1)
- terra5
- ベストアンサー率34% (574/1662)
>Enterキーでボタンを実行したいのですが制御する方法があるのでしょうか? Enter(Returrn)キーは別の機能に割り当てられていますが、リソースの設定で変更可能です。 PushButton widgetで全てのボタンを変更するなら、 *XmPushButton.translations: #override \ <Key>Return: ArmAndActivate() だと思います。 ArmAndActivateってのがSPACE押した時に実行されるので、Returnでも同じ処理を実行させるように設定しています。 .Xdefaultにでも入れてください。 プログラム中からも変更可能ですが、こっちのが簡単ですので。 後半の質問は、プログラムそのものを見ないとけんとうつきません。 ウインドウの作り方に問題があるような気はしますが。
お礼
ご回答有り難う御座います。 プログラム中からも変更できるのであればそちらの方が望ましいです。 もし、よければプログラム中からの変更方法を教えていただけないでしょうか?
お礼
大変有り難う御座います。 これで解決できます。