MotifTextのカーソル移動について



 ◇-?Motif  Textのカーソル移動について-アキ-08/26-11:11(287)-No.482604
   ┗?!Re:Motif  Textのカーソル移動に...-ヒロ-08/26-13:07(285)-No.482609
     ┗?!?Re:Motif  Textのカーソル移動...-アキ-08/27-09:24(265)-No.482687
       ┗?!?!Re:Motif  Textのカーソル移動...-ヒロ-08/27-10:44(264)-No.482692
         ┗?!?!?Re:Motif  Textのカーソル移...-アキ-08/27-16:50(258)-No.482701
           ┗?!?!?!Re:Motif  Textのカーソル移...-ヒロ-08/27-17:12(257)-No.482704
             ┗?!?!?!?Re:Motif  Textのカーソル...-アキ-08/28-19:17(231)-No.482740
               ┗?!?!?!?!Re:Motif  Textのカーソル...-ヒロ-08/28-20:09(230)-No.482744
                 ┗?!?!?!?!【解決】Re:Motif  Textの...-アキ-09/02-15:17(115)-No.482988

▲このページのトップに戻る
482604Motif Textのカーソル移動についてアキ 2009/08/26-11:11

メーカー名:HEWLETT PACKARD ヒューレット・パッカード
OS名:Linux
パソコン名:RV724AV
ソフト関連: Motif関連
--
Motif XmCreateText()でWidgetを作成し、それに対してフォーカスイン時にカーソルを先頭に持ってきたいのですがどうすればよいでしょうか?

XmCR_FOCUSのイベント時にXmTextSetInsertionPosition()を使用してますが、有効になりません。

ちなみにXmTextSetInsertionPosition()はフォーカスインのイベント時に行ってます。

それ以外に簡単にカーソルを先頭にもってくる方法は無いでしょうか?


▲このページのトップに戻る
482609Re:Motif Textのカーソル移動についてヒロ 2009/08/26-13:07

記事番号482604へのコメント
アキさんは No.482604「Motif Textのカーソル移動について」で書きました。

>XmCR_FOCUSのイベント時にXmTextSetInsertionPosition()を使用してますが、有効になりません。

有効にならないのは
・フォーカスが目的のウィジェットにセットされない
・フォーカスはセットされるがカーソルが先頭にセットされない?
のどっち?

イベントプロシージャーの内容やXmTextSetInsertionPosition()の引数は正しい値
を設定してますか?


▲このページのトップに戻る
482687Re:Motif Textのカーソル移動についてアキ 2009/08/27-09:24

記事番号482609へのコメント
ヒロさんは No.482609「Re:Motif Textのカーソル移動について」で書きました。

フォーカスはセットされてますが、カーソルが先頭にセットされません。
XmTextSetInsertionPosition()の引数は正しいと思います。

XmTextSetInsertionPosition(WidgetID, pos);


▲このページのトップに戻る
482692Re:Motif Textのカーソル移動についてヒロ 2009/08/27-10:44

記事番号482687へのコメント
アキさんは No.482687「Re:Motif Textのカーソル移動について」で書きました。

>XmTextSetInsertionPosition(WidgetID, pos);

ちなみに
・現状XmTextSetInsertionPosition()を呼び出した結果、どこ(何文字目)
 にカーソルがセットされますか?(その時設定している文字列は?)
・ウィジェットに設定された文字列に対して、カーソルを先頭以外(末尾や
 n文字目、中間等)を指定した場合は指定位置にカーソルがセットされますか?
・WidgetIDに指定しているウィジェットにどんな文字列を設定した状態でも
 XmTextSetInsertionPosition()を呼び出した場合はどうでしょう?



▲このページのトップに戻る
482701Re:Motif Textのカーソル移動についてアキ 2009/08/27-16:50

記事番号482692へのコメント
ヒロさんは No.482692「Re:Motif Textのカーソル移動について」で書きました。


設定している文字列は数値です。
他の文字列は試してません。

XmTextSetInsertionPosition()を呼び出しているところはフォーカスイベントが
発生した後、その処理の中で行なってます。
従って、マウスクリックした位置にカーソルが移動してます。
(文字列の最後でクリックすると最後に、文字列の先頭でクリックすると先頭に
 カーソルが移動してます。)

もしかすると、一旦、フォーカスインした後にカーソル移動って出来ないのでしょうか?

やりたい事は、マウスクリック時にフォーカスインし、カーソルを先頭に持ってくる。
をしたいので、何か方法はありませんか?

別にXmTextSetInsertionPosition()を使用しなくても、簡単に出来る方法があれば
良いんですけど…。

▲このページのトップに戻る
482704Re:Motif Textのカーソル移動についてヒロ 2009/08/27-17:12

記事番号482701へのコメント
アキさんは No.482701「Re:Motif Textのカーソル移動について」で書きました。

>XmTextSetInsertionPosition()を呼び出しているところはフォーカスイベントが
>発生した後、その処理の中で行なってます。
>従って、マウスクリックした位置にカーソルが移動してます。
>(文字列の最後でクリックすると最後に、文字列の先頭でクリックすると先頭に
> カーソルが移動してます。)
>
>もしかすると、一旦、フォーカスインした後にカーソル移動って出来ないのでしょうか?

その操作だと、一旦フォーカスが作成されると同時に先頭にセットされるが、マウス
クリックによってカーソルがクリック位置に移動してないですか?

マウスのクリックイベントで位置設定してみてはどうでしょう。

▲このページのトップに戻る
482740Re:Motif Textのカーソル移動についてアキ 2009/08/28-19:17

記事番号482704へのコメント
ヒロさんは No.482704「Re:Motif Textのカーソル移動について」で書きました。

マウスのクリックイベントで、対象のテキストウィジェットが判断できますか?
(どこのテキストウィジェットのマウスクリックなのか)
と言うか、私が知らないだけですけど。

出来れば、サンプルがあると嬉しいのですが…。

▲このページのトップに戻る
482744Re:Motif Textのカーソル移動についてヒロ 2009/08/28-20:09

記事番号482740へのコメント
アキさんは No.482740「Re:Motif Textのカーソル移動について」で書きました。

>出来れば、サンプルがあると嬉しいのですが…。

以下でXmTextSetInsertionPosition()のサンプルがあります。
http://www.ist.co.uk/motif/books/vol6A/ch-18.fm.html
Example 18-3がそれらしい部分です。

ただこれはマウスとは関係なく、単純に文字列検索によって該当位置にカーソル
を位置づける処理のサンプルですが。

▲このページのトップに戻る
482988Re:Motif Textのカーソル移動についてアキ 2009/09/02-15:17

記事番号482744へのコメント
ヒロさんは No.482744「Re:Motif Textのカーソル移動について」で書きました。

サンプルありがとうございました。

結局、XmTextSetInsertionPosition()はフォーカスインした後、そこで実行しても
すでにカーソルがフォーカス内にはいっている為、効きませんでした。

と言う事で、ヒロさんの仰った様に、マウスイベントを拾った後、そのテキスト
ウィジェットに対しXmTextSetInsertionPosition()を行い、フォーカスインさせる
様にしました。
但し、一旦Xイベントを実行しないと処理が効きませんので、5mm秒のタイマを掛け
その後にXmTextSetInsertionPosition()を行なう様にしました。

結果としてチャンとカーソルが移動しました。


色々、ありがとうございました。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言