エディットコントロールにフォーカスがきたら、全選択にしたい – プログラミング – Home

エディットコントロールにフォーカスがき...
 
通知
すべてクリア

[解決済] エディットコントロールにフォーカスがきたら、全選択にしたい


Dir
 Dir
(@Dir)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

はじめまして、初めて投稿させていただきます。
SDKでツールを作っているのですが、
エディットコントロールに初期値が入っていまして、
このエディットコントロールをクリックするなどして、フォーカスが来たとき、
入力されている文字列をすべて選択状態にしたいのですがどのようにしたらよいのでしょ
う?

初歩的な質問で申し訳ありませんが、よろしくお願いします。
開発環境は以下のとおりです。

WindowsXP Professional
Microsoft Visual C++6.0 Professional
MFC未使用


引用未解決
トピックタグ
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

WM_SETFOCUS と EM_SETSEL を調べてみてください。


返信引用
Dir
 Dir
(@Dir)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

回答ありがとうございます。
WM_SETFOCUS と EM_SETSELを使って、タブキーなどでフォーカスを移動したときには
全選択状態になったのですが、エディットコントロールがクリックされたことによって
フォーカスを得たときには選択状態にすることができませんでした。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

WM_SETFOCUS でやるのは早すぎるのです。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200411/04110015.txt


返信引用
tafu
 tafu
(@tafu)
ゲスト
結合: 19年前
投稿: 2
 

私もそのような動作をさせたかったので、結局WM_CAPTURECHANGEDを捕まえて、EM_SETSEL
しました。
試してはいないのですが、1行入力であればSimple combo boxを使ったほうが、希望の動
作に近いのかなと思ってます。


返信引用
Dir
 Dir
(@Dir)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

dairygoodsさん、tafuさんレスありがとうございます。

dairygooodsさんのサブクラス化なのですが、MFCを使っておらず、また、クラス化もして
いないので、よくわかりませんでした^^;

tafuさんのWM_CAPTURECHANGEDを捕まえる方法でやったらうまくできました。

ありがとうございます。


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

もう解決したようですが、補足。
何もサブクラス化はMFC限定用語ではありません。
SDKでもサブクラス化は普通に行います。
# むしろMFCでのサブクラス化はよく知らなかったり・・・

この場合は、Editコントロールの標準の動作を変えるために、
Editコントロールを継承した独自の振る舞いを定義する、
といえばわかりやすいでしょうか。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました