こんにちは。さおりと申します。
初歩の初歩だと思いますが、どなたか教えて頂けないでしょうか?
環境は、WinMe、VC++6.0、MFCです。
ダイアログベースのプログラムを作ろうとしていて、defaultDlgクラスの
OnInitDialogの中で自作クラスを作成してプログラム中でその一つのクラスを
一意に使おうと思いました。
そこで、OnButton1()等で、OnInitDialogで作成したクラスにアクセスしようとした
ところスコープからはずれたせいなのか、アクセスできなかったです。
OnButton1()で作成したクラスにはアクセスできます。
プログラム中で、自作クラスは1つ作成できれば良かったので、OnInitDialogで
1回作成すれば、終了時自動で破棄されるし、それでよいのかなと思ったのですが、
OnButton1()等でそのクラスを見れないとうまくないです。
OnButton1()に引数でクラスを渡せばよいのかなとも思ったのですが、
その方法も良く分からなかったです。
こんな場合、どの様に解決すればよいのでしょうか?
または、プログラムを作る上で、考え方が間違っているようでしたら教えて下さい。
宜しくお願いします。
そのダイアログをメンバ変数にもてばよいのではないでしょうか?
ヘッダーファイルに作成したらどうでしょうか
こんばんは、さおりです。
返答してくださって有り難う御座います。
ダイアログベースなので、ダイアログを自作クラスのメンバ変数に持つのは
無理だと思うのですが、私の文章が悪くて逆の意味に
とられちゃったようですね。
でも、自作クラスをダイアログのメンバ変数に持てばよかったのですね。
OnInitDialog()のなかで定義してってことしか頭に無かったので、
メンバ変数のことが全く思い浮かばなかったです。
よく考えてみれば確かにそうですよね。
OnInitDialog()の中でクラスを生成すればDialog()が終了した時に
破棄されちゃうんですよね。OnButton1()なんかで見れないのは当然でした。
恥ずかしくなるような質問をしてしまいました。
ワルツさん、Kさん、返答してくださって有り難う御座います。