プロが教える店舗&オフィスのセキュリティ対策術

VisualStudio2005のC++で、textBoxに金額を入力するときに、入力時に「10000」と入力しエンターキーを押すと「10,000円」と表示させるにはどのようなコードにすればいいのでしょうか?
(再びtextBoxをフォーカスすると「10000」となるようにしたいです。maskedTextBoxは使わないです)。
もしくは参考にはるURLがお分かりの方いましたらよろしくお願いいたします。

A 回答 (1件)

★アドバイス


・エディットボックスをサブクラスして機能を追加して下さい。
 (1)Enterキーが押されたら『10000』文字列を『10,000円』文字列に変更してセット
 (2)フォーカスを失ったときは『10000』文字列を『10,000円』文字列に変更してセット
 (3)フォーカスになったときには『10,000円』文字列を『10000』文字列になるようにセット
・サブクラス化したときには次のメッセージを処理します。
 (1)WM_KEYDOWN
 (2)WM_KILLFOCUS
 (3)WM_SETFOCUS
 これらのメッセージについては次のURLをどうぞ。
 http://wisdom.sakura.ne.jp/system/winapi/win32/w …→『サブクラス化』
 http://wisdom.sakura.ne.jp/system/winapi/win32/w …→『キーボードイベント』
 http://wisdom.sakura.ne.jp/system/winapi/win32/w …→『フォーカスイベント』
・あとサブクラス化しなくても次の通知コードを処理しても実装できます。
 (1)EN_CHANGE
 (2)EN_KILLFOCUS
 (3)EN_SETFOCUS
 http://wisdom.sakura.ne.jp/system/winapi/win32/w …→『エディット』
 ※エディットボックスが複数個ある場合はサブクラス化して部品化した方が便利です。
・以上。各メッセージ、通知コードを参考にして下さい。

参考URL:http://wisdom.sakura.ne.jp/system/winapi/win32/i …
    • good
    • 0
この回答へのお礼

非常に参考になります!サブクラス化で対応しようと思います。
各リンクもどうもありがとうございました。

お礼日時:2007/10/18 06:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!