メンバ変数の初期化について教えてください。 – プログラミング – Home

メンバ変数の初期化について教えてくださ...
 
通知
すべてクリア

メンバ変数の初期化について教えてください。


まさ
 まさ
(@まさ)
ゲスト
結合: 24年前
投稿: 64
Topic starter  

環境 : VC++6.0 Windows XP Professional SP2

当方ダイアログベースのプログラムを作成しております。

初歩的な質問で申し訳ないのですが、
現在ダイアログに2つラジオボタンを設定していまして
その内1つはCheckRadioButton関数で
デフォルトで選択されるようにしています。

OKボタンを押下するとラジオボタンの選択状態によって、
1つ目のラジオボタンには0を
2つ目のラジオボタンには1を
変数に代入するという処理をしているのですが、
デフォルト(1つ目のラジオボタンが選択された状態)
のままOKボタンを押下すると
エラーになってしまい正常に動作しません。

恐らくラジオボタン選択によって
値を代入する変数に0が代入されていない
という事が原因だとはわかったのですが、
どの位置で初期化をすれば良いのかがわかりません。

どなたか教えて頂けると助かります。
宜しくお願い致します。


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

コンストラクタ あるいは OnInitDialog() 内ではダメすか?

# 現時点ではどこで初期化してますか?


返信引用
まさ
 まさ
(@まさ)
ゲスト
結合: 24年前
投稿: 64
Topic starter  

CxxxxDlg::CxxxxDlg(CWnd* pParent /*=NULL*/)
: CDialog(CxxxxDlg::IDD, pParent)

現在は上記の場所で初期化の設定をしていますが、エラーとなる状態です。

OnInitDialog()では同じようにエラーとなりました。
コンストラクタとはどの場所でしょうか。。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> CxxxxDlg::CxxxxDlg(CWnd* pParent /*=NULL*/)
> : CDialog(CxxxxDlg::IDD, pParent)

これがコンストラクタ。

> 現在は上記の場所で初期化の設定をしていますが、エラーとなる状態です。

コンパイル・エラー?
どんなコードを書いたらどんなエラーが出ましたか?


返信引用
ころ
 ころ
(@ころ)
ゲスト
結合: 20年前
投稿: 14
 

予想ですが、ダイアログが表示されていないのに
状態を変えようとしているのではないですか?

OnInitDialog内でラジオボタンの状態を変える前に
ShowWindow()を使って自分自身を表示させてみては
いかがでしょうか?


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

>その内1つはCheckRadioButton関数で
>デフォルトで選択されるようにしています。

ここでやれば良いと思います、プログラミング上デフォルト値の設定
を行うという行為を行うのは、通常1回ないし、何らかのアクション
により呼び出される関数ですので自分のコーディングで「デフォルト値の設定」
意識のあるところで良いと思います

「OK」ボタン後のエラーとしかわかりませんが、
メッセージかコード提示してみてはいかがでしょうか
意外と違う原因かも知れませんよ


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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