エディットボックス

解決


ぺんた  2006-06-21 17:41:53  No: 62275  IP: 192.*.*.*

初めまして。
エディットボックスに記述されているテキストの選択について質問させてください。
ダイアログ内にエディットボックスを貼り付けているのですが、ダイアログにフォーカスが当たった際にはエディットボックス内に記述されているテキストを自動的に選択させることはできています。
しかし、ダイアログ内のエディットボックスをクリックすると、テキストの全選択ができません。エディットボックスにフォーカスが当たったときのみ全選択されるようにと思い、EN_SETFOCUSが飛んできたときに処理を行ってもだめでした。

どのようにすると可能でしょうか?

開発環境は、VC6SP5,WIN-XP2です。
よろしくお願いいたします。

編集 削除
subaru  2006-06-21 23:56:48  No: 62276  IP: 192.*.*.*

エディットボックスをサブクラス化して、
WM_LBUTTONDOWN(またはWM_LBUTTONUP?)でデフォルトの処理を行ったあとに
EM_SETSELで全選択するとそれっぽい動作になると思います。

編集 削除
ぺんた  2006-06-22 09:19:17  No: 62277  IP: 192.*.*.*

昨日、ソースをいじくっていて思ってはいたのですが、
やはりサブクラス化しないとダメですか…

ご回答ありがとうございました。

編集 削除
ぺんた  2006-06-22 09:19:50  No: 62278  IP: 192.*.*.*

解決しましたので、チェックを入れました。

編集 削除
subaru  2006-06-22 09:54:57  No: 62279  IP: 192.*.*.*

>やはりサブクラス化しないとダメですか…

EN_SETFOCUSが飛んできたときにPostMessageでWM_APP+1を発行。

WM_APP+1の方でEM_SETSELで全選択。

という方法もありかも。

編集 削除