VC++にてMFCを使用せずに勉強をしています。
下記のような表示を行いたいのですが、どのようにすればよいでしょうか。
エディットボックス1
エディットボックス2(ユーザー入力不可)
エディットボックス3~・・・
エディットボックスの1に5桁の数値を入力したら2のほうに名前が自動で表示される
というふうにしたいのですが、
数値と名前で1レコードとしてファイルに10このレコード保管してあります。
3桁目で数値が一致しても表示するという形式を作っています。
わかりにくい説明で申し訳ありません。
Edit1 が発するメッセージ: EN_CHANGE をハンドルすればいいんじゃないかしら。
レスありがとうございます。
上記レスを参考にメッセージを利用しようと思ったのですが
うまくEN_CHANGEメッセージを拾うことができません。
仕事でしばらくPCに触れれないので深夜に試行錯誤してみます。
ありがとうございました!
> うまくEN_CHANGEメッセージを拾うことができません。
うまく拾えないとは?サブクラス化していますか?
> サブクラス化していますか?
サブクラス化関係なかったです。
WM_COMMANDメッセージで送られてくるので、
if (lp == (LPARAM)hEdit && HIWORD(wp) == EN_CHANGE)
みたいな判定文で取れます。
参考
http://wisdom.sakura.ne.jp/system/winapi/win32/win66.html
私は「WM_KILLFOCUS 」の方が扱いやすかったよ
入力中に5桁(3桁なのかな)に達したら表示するようなので
WM_KILLFOCUSでは無理なのでは?
キー入力するたびにデータの検索処理を行なうと言うのであれば「WM_KILLFOCUS」では
確かに無理です
でも、レスポンスわるそう
んー、たんびにディスクがこがこやってちゃ洒落ならんだろうけど、
検索対象がon-memoryに置ける程度の分量ならリニア・サーチでもない限りさほどにキツくはな
いかもです。
# 実測するのが一番ね。