>ということは、OnCreate関数は単独では使えないということですかね?
OnCreate() も単なるメンバ関数ですから、外部から呼び出すことも可能ではあります
が、単独で使う意味はまるで無いです。
>通常ウインドウを作成するときはどちらを使うほうがよいでしょうか?
>(用途により使い分けるのでしょうけど)
使い分ける必要はまったくありません。
理由は既に説明されている通り
>OnCreate関数はCreate関数が呼び出されてウィンドウが作られたときに
>呼び出されます。
だからです。
CWnd によるウィンドウの「作成」には Create() や CreateEx() を使います。
VCでの言葉にあまり慣れておらず、
>OnCreate関数はCreate関数が呼び出されてウィンドウが作られたときに
>呼び出されます。
ということがしっかりと理解できていないのでもう1度質問させてください。
OnCreate関数は、要は間接的に呼び出すときに使うのでしょうか?
例えば、プログラムを動かしたときにまずダイアログボックスが出て、
OKボタンを押したらウインドウが出る、というプログラムのように。
上に書いたようなプログラムを作りたいと考えていますので、
このようにやる場合はOnCreateを使用したほうがいいですか?
私の考え方自体が間違っているような気もしますが、
どうかご指導お願いいたします。
> OnCreate関数は、要は間接的に呼び出すときに使うのでしょうか?
間接的に呼び出されるものです。
たとえば、
OKボタンを押すと、OnOKが呼び出されますが、
OnOK()を呼び出すことによってボタンが押されるわけではありません。
ヘルプ読み、もう少し頑張りましょう
落ち着けば、内容がいまいち理解できなくても大きな違いは分かるはずです
Create()やCreateEx()はウィンドウを作りたいときにhanabiさんが呼ぶ関数です
ウィンドウを作るときにはhanabiさんが直接か、
hanabiさんが使ったクラスが間接的に必ず呼んでいます(ダイアログは違います)
OnCreate()はCreate()やCreateEx()を呼ぶとMFCにより呼ばれます
Create()やCreateEx()はウィンドウを作りたいときに呼ぶ関数
OnCreate()はCreate()やCreateEx()を呼んだときに、
ウィンドウが表示される前にMFCに呼ばれる関数です
hanabiさん 調子はどうですか?
だいぶ悩んでるようですね。
これを参考にするとまた1つ道が開けますよ。
http://www.net24.ne.jp/~kenji/s_swin/swin.html
kuさん
確かに簡単に聞いてばかりでした。申し訳ないです。
みなさんの助言により、OnCreateについてようやく理解することができました。
ありがとうございました。
M&Kさん
私が今まさにやろうとしていることが書いてあるページですね!
とても参考になります。ありがとうございます。
長々と稚拙な質問に答えていただきありがとうございました。
私にとって大変有意義なものとなりました。
ご教授いただいた皆さんに感謝しております。
また疑問が生じた時は質問させていただこうと考えておりますので、
そのときはよろしくお願いいたします。
ありがとうございました。