エディットボックスとスピンコントロールについて – プログラミング – Home

エディットボックスとスピンコントロール...
 
通知
すべてクリア

[解決済] エディットボックスとスピンコントロールについて


Pie
 Pie
(@Pie)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

はじめまして、以前からここのページを参考にさせていただいていましたが、解決できない問題
が発生してしまったので質問させていただきます。

エディットボックスの内容が変わるとリストボックスの中身をその都度再表示するプログラム
を作っているのですが、スピンコントロールで数値の自動入力にチェックを入れた状態で、
エディットボックスのEN_CHANGEから自作関数へ飛ぼうとするとエラーが出てしまいます。
いろいろ試してみたのですが、うまくいきませんでした。
例えばスピンコントロールの数値の自動入力にチェックを入れたEdit1のEN_CHANGEに

Edit2=文字列;(Edit2はCString型)
とするとアプリ起動時にEdit2に文字列と表示されてしまいます。
ほかには
UpdateData(FALSE);
などでは実行しようとするとエラーが出ます。
コンパイルはできるのですが、実行ができません。
数値の自動入力のチェックをはずすとエラーはなくなり、EN_CHANGEも普通に動作します。
どなたかご教授お願いいたします。


引用未解決
トピックタグ
r
 r
(@r)
ゲスト
結合: 22年前
投稿: 48
 

自動入力にすると OnInitDialog よりも以前の、エディットボックスとスピンが作成され
たタイミングで EN_CHANGE が発生するです。

だから EN_CHANGE 処理で
Edit2=文字列;
とすれば、起動時にEdit2に文字列と表示されるのは当然の成り行きだし、
UpdateData(FALSE);
とすれば、そのエディットボックスやスピン以外の未作成コントロールにまでアクセスし
ようとして実行時エラーになります。

フラグでも用意しておいて、OnInitDialog を通る以前の EN_CHANGE だったら何もしない
ようにしてしまえばいいです。


返信引用
Pie
 Pie
(@Pie)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

すいません、環境書くの忘れてました。
MFC ダイアログベース VC++6.0 Windos2000
です。


返信引用
Pie
 Pie
(@Pie)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

rさんありがとうございました!無事解決できましたw
また行き詰まったらよろしくおねがいいたします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました