エディットボックスへの入力について

[戻る]
[E-Mail] 2005/08/17(水) 13:46:38
VC++にてMFCを使用せずに勉強をしています。
下記のような表示を行いたいのですが、どのようにすればよいでしょうか。

エディットボックス1

エディットボックス2(ユーザー入力不可)

エディットボックス3〜・・・

エディットボックスの1に5桁の数値を入力したら2のほうに名前が自動で表示される
というふうにしたいのですが、

数値と名前で1レコードとしてファイルに10このレコード保管してあります。
3桁目で数値が一致しても表示するという形式を作っています。
わかりにくい説明で申し訳ありません。

επιστημη [E-Mail] 2005/08/17(水) 14:07:45
Edit1 が発するメッセージ: EN_CHANGE をハンドルすればいいんじゃないかしら。

[E-Mail] 2005/08/17(水) 18:16:21
レスありがとうございます。
上記レスを参考にメッセージを利用しようと思ったのですが
うまくEN_CHANGEメッセージを拾うことができません。
仕事でしばらくPCに触れれないので深夜に試行錯誤してみます。
ありがとうございました!

Blue 2005/08/17(水) 18:18:07
> うまくEN_CHANGEメッセージを拾うことができません。
うまく拾えないとは?サブクラス化していますか?

Blue [E-Mail] 2005/08/17(水) 22:31:30
> サブクラス化していますか?
サブクラス化関係なかったです。

WM_COMMANDメッセージで送られてくるので、

if (lp == (LPARAM)hEdit && HIWORD(wp) == EN_CHANGE)

みたいな判定文で取れます。

参考
http://wisdom.sakura.ne.jp/system/winapi/win32/win66.html

wood 2005/08/18(木) 07:16:35
私は「WM_KILLFOCUS 」の方が扱いやすかったよ

リンク 2005/08/18(木) 10:46:29
入力中に5桁(3桁なのかな)に達したら表示するようなので
WM_KILLFOCUSでは無理なのでは?

wood 2005/08/18(木) 14:06:11
キー入力するたびにデータの検索処理を行なうと言うのであれば「WM_KILLFOCUS」では
確かに無理です
でも、レスポンスわるそう

επιστημη [E-Mail] 2005/08/18(木) 15:56:04
んー、たんびにディスクがこがこやってちゃ洒落ならんだろうけど、
検索対象がon-memoryに置ける程度の分量ならリニア・サーチでもない限りさほどにキツくはな
いかもです。
# 実測するのが一番ね。

古いスレッドには追加発言できません。