- ベストアンサー
textBoxに数値を入力すると円とカンマが自動的につくようにするには?
VisualStudio2005のC++で、textBoxに金額を入力するときに、入力時に「10000」と入力しエンターキーを押すと「10,000円」と表示させるにはどのようなコードにすればいいのでしょうか? (再びtextBoxをフォーカスすると「10000」となるようにしたいです。maskedTextBoxは使わないです)。 もしくは参考にはるURLがお分かりの方いましたらよろしくお願いいたします。
- みんなの回答 (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/win64.html→『サブクラス化』 http://wisdom.sakura.ne.jp/system/winapi/win32/win30.html→『キーボードイベント』 http://wisdom.sakura.ne.jp/system/winapi/win32/win33.html→『フォーカスイベント』 ・あとサブクラス化しなくても次の通知コードを処理しても実装できます。 (1)EN_CHANGE (2)EN_KILLFOCUS (3)EN_SETFOCUS http://wisdom.sakura.ne.jp/system/winapi/win32/win66.html→『エディット』 ※エディットボックスが複数個ある場合はサブクラス化して部品化した方が便利です。 ・以上。各メッセージ、通知コードを参考にして下さい。
お礼
非常に参考になります!サブクラス化で対応しようと思います。 各リンクもどうもありがとうございました。