ページ 11

エディットボックスのカーソル位置取得について・・・。

Posted: 2006年5月17日(水) 00:21
by DarkSky
お初にお目にかかります。ABビギナーのDarkSkyです。
今プログラミングの習作にと、アプリケーションを作っているのですが、それで少しお伺いしたい事があります。
RADツールでエディットボックスとボタンを作り、ボタンが押された時にEM_GETSELでカーソル位置を取得、
そしてカーソル位置に文字列を挿入・・・という風な形にしたいのですが、
エディットボックスにフォーカスがない時は、末尾に挿入したいのです。
最初はメッセージの返値でフォーカスの有無が分かるかな、と思ったのですが、
エディットボックスの先頭にカーソルがある場合、0が帰ってくる事が分かりました。
これでは先頭にカーソルがある(=先頭に挿入したい)か、フォーカスがない(=末尾に挿入したい)か判断できません。
この二つを簡単に判断する技はあるのでしょうか?

GetFocusとエディットボックスのハンドルを比べて・・・と思っていたのですが、重大な事実が発覚。
そもそもクリックイベントでこの判断を行うようにしているので、クリックしたボタンにフォーカスが移っちゃってます(泣
八方塞がりのようです。誰か教えて頂けませんか?

Re: エディットボックスのカーソル位置取得について・・・。

Posted: 2006年5月17日(水) 00:50
by 7
> お初にお目にかかります。ABビギナーのDarkSkyです。
初めまして。ABのミドルユーザーぐらいにはなれたかな!?と思っている7です。

> エディットボックスにフォーカスがない時は、末尾に挿入したいのです。
エディットボックスのフォーカス状態を持つ変数を宣言し、それを判断してやることで、一応できました。 > GetFocusとエディットボックスのハンドルを比べて・・・と思っていたのですが、重大な事実が発覚。
> そもそもクリックイベントでこの判断を行うようにしているので、クリックしたボタンにフォーカスが移っちゃってます(泣
失礼なんですけど、フォーカスを持つかどうかで判断して処理を行うこと自体が間違ってるんじゃないでしょうか?
こんな処理するの初めてなんですけど、結構する人多いんでしょうかね。

Re: エディットボックスのカーソル位置取得について・・・。

Posted: 2006年5月17日(水) 01:53
by ゲスト
7さんご回答ありがとうございます。試してみると、期待通りの動作が得られました。感謝の限りです。

> 失礼なんですけど、フォーカスを持つかどうかで判断して処理を行うこと自体が間違ってるんじゃないでしょうか?
> こんな処理するの初めてなんですけど、結構する人多いんでしょうかね。

うーん、元々はフォーカス&カーソル位置に関係なく末尾に追加していたのですが、
これじゃあ不便だなという事でつけてみたんです。
もうちょっと他の方法も吟味してみる必要がありそうですね。
改めて、ありがとうございました。

Posted: 2006年5月17日(水) 01:54
by DarkSky
あ。名前入れ忘れてました。すみません。
上のレスは僕です。