環境 : VC++6.0 Windows XP Professional SP2
当方ダイアログベースのプログラムを作成しております。
初歩的な質問で申し訳ないのですが、
現在ダイアログに2つラジオボタンを設定していまして
その内1つはCheckRadioButton関数で
デフォルトで選択されるようにしています。
OKボタンを押下するとラジオボタンの選択状態によって、
1つ目のラジオボタンには0を
2つ目のラジオボタンには1を
変数に代入するという処理をしているのですが、
デフォルト(1つ目のラジオボタンが選択された状態)
のままOKボタンを押下すると
エラーになってしまい正常に動作しません。
恐らくラジオボタン選択によって
値を代入する変数に0が代入されていない
という事が原因だとはわかったのですが、
どの位置で初期化をすれば良いのかがわかりません。
どなたか教えて頂けると助かります。
宜しくお願い致します。
コンストラクタ あるいは OnInitDialog() 内ではダメすか?
# 現時点ではどこで初期化してますか?
CxxxxDlg::CxxxxDlg(CWnd* pParent /*=NULL*/)
: CDialog(CxxxxDlg::IDD, pParent)
現在は上記の場所で初期化の設定をしていますが、エラーとなる状態です。
OnInitDialog()では同じようにエラーとなりました。
コンストラクタとはどの場所でしょうか。。
> CxxxxDlg::CxxxxDlg(CWnd* pParent /*=NULL*/)
> : CDialog(CxxxxDlg::IDD, pParent)
これがコンストラクタ。
> 現在は上記の場所で初期化の設定をしていますが、エラーとなる状態です。
コンパイル・エラー?
どんなコードを書いたらどんなエラーが出ましたか?
予想ですが、ダイアログが表示されていないのに
状態を変えようとしているのではないですか?
OnInitDialog内でラジオボタンの状態を変える前に
ShowWindow()を使って自分自身を表示させてみては
いかがでしょうか?
>その内1つはCheckRadioButton関数で
>デフォルトで選択されるようにしています。
ここでやれば良いと思います、プログラミング上デフォルト値の設定
を行うという行為を行うのは、通常1回ないし、何らかのアクション
により呼び出される関数ですので自分のコーディングで「デフォルト値の設定」
意識のあるところで良いと思います
「OK」ボタン後のエラーとしかわかりませんが、
メッセージかコード提示してみてはいかがでしょうか
意外と違う原因かも知れませんよ