こんばんわ。
エディットボックスをサブクラス化して
入力チェックを行いたいが、
どのMSGでどの様に行ったら良いのでしょうか?
条件
1.数値のみ入力可
2.10~96の時のみ入力可
#条件1と2を満たした数値のみ入力できるようにしたい
サブクラス化、条件1は実装済。
WM_CHAR、EN_KILLFOCUS、
EN_UPDATEなどで
CString csBuf;
GetDlgItem(IDDxxxx)->GetWindowText(csBuf);
と書くと、強制終了。
WM_KILLFOCUSで処理する時の引数は、
次のフォーカスのポインタなので、
利用不可。
なんらかの操作をした時に
親ウィンドウプロシージャで入力チェックしても良いのですが、
出来れば、入力したらすぐチェックしたいです。
環境、MFC、VC++6.0です。
条件2の数値が、1桁ならWM_CHARで簡単にできたのですが・・・
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
強制終了の原因はSetWindowText() によるエディットの文字列の変更の
無限ループだと思います。
case WM_COMMAND:
if(HIWORD(wParam) == EN_UPDATE){ //エディットが変更される直前。
//SetWindowText() による変更を無視させるために GetFocus() も使う。
if(GetFocus() == hEdit && (HWND)lParam == hEdit){
回答ありがとうございます。
CString csBuf;
GetWindowText(csBuf);
とコーディングすることで、文字列を取得できました。
エディットボックスの入力チェックは
これで無事完了です。
原因は、無限ループの様でした。
よく考えると、サブクラス化したのに、
GetDlgItem(IDCxxx)->GetWindowText(csBuf);
だと、無限ループしちゃいますね。
どうも、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
エディットボックスの入力制限について
C言語・C++・C#
-
エディットコントロールのイベントハンドラ
Microsoft ASP
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの番号を使っ...
-
アルファベットGの小文字の入力
-
初歩的な事だと思います。 Sub...
-
VBAのトグルボタンでのマクロに...
-
TextBoxから数字が文字...
-
InputBoxからの掛け算
-
ACCESS テキストボックスの入力...
-
至急です!Excelがわかりません
-
VBAでInputBoxの再入力をさせる...
-
アクセスのマクロ
-
uwsc webページ内のテキストボ...
-
複数行の入力を受け取る方法
-
Excel-VBAでInputBox+Pulldown...
-
FIREFOXでWebページを表示でき...
-
VBA R1C1形式で変数の入力について
-
エクセルVBA テキストボックス...
-
ビジネスメールの敬称
-
お問い合わせフォームから送信...
-
Googleフォームを回答したか確...
-
Safariで「本当にこのフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA テキストボックス...
-
初歩的な事だと思います。 Sub...
-
Excel-VBAでInputBox+Pulldown...
-
テキストボックスの番号を使っ...
-
VBAでInputBoxの再入力をさせる...
-
DataGridViewの桁数制限に関して
-
EXCEL VBA で指定した範囲に入...
-
「イ分」・・・フンという文字...
-
数字以外の入力をエラーにする...
-
教えて!全角文字「μ」の半角
-
DataGridView 列ごとの入力制限
-
VBA R1C1形式で変数の入力について
-
エディットボックスの入力制限...
-
TextBoxから数字が文字...
-
アクセスのマクロ
-
excel vba でユーザーフォーム...
-
HTMLで全角文字のみ入力するに...
-
accessで該当するレコードがな...
-
入力フォームの値をQRコードで...
-
複数行の入力を受け取る方法
おすすめ情報