はじめまして。親ダイアログと子ダイアログについて質問があります。
親のダイアログ OYA
子のダイアログ KOPage IDは IDD_KOPage とします。
親のダイアログの OnInitDialog() の中で
KO.Create(IDD_KOPage,&z_tab);
z_tab.AddPage(&KO,1);
とあります。
この段階で子ダイアログの コンストラクタや OnInitDialog()は呼び出されているのでしょうか?
また子ダイアログのソースの中で、DoDataExchange(),DDX_ControlがOnInitDialog()よりも先に定義されているのですがDoDataExchange(),DDX_Controlも呼び出されているのでしょうか。
難しい質問ですみませんが、どなたか教えて頂けませんでしょうか。
>子ダイアログの コンストラクタ
ということは子ダイアログをクラス化してるんですよね。
ということはインスタンスを作成した時点でコンストラクタは呼ばれていると思います。
KO.Createは子ダイアログを作成してるんですよね。
何かしらのCreate関数に入ったらOnInitDialog()に入っていると思いますよ。
たぶんMFCですよね。MFCはあまり知らないのでSDKで申し訳ないですが、例えば
CreateWindowというAPI関数の途中でWM_CREATEが呼ばれますし、
DialogBoxというAPI関数の途中でWM_INITDIALOGが呼ばれています。
デバッグとかしてます?
ブレークポイントをつけてデバッグするとどういう順番で処理されているか
分かると思いますよ。
>また子ダイアログのソースの中で、DoDataExchange(),DDX_ControlがOnInitDialog()よりも先に定義されているの>ですがDoDataExchange(),DDX_Controlも呼び出されているのでしょうか。
これについては分かりません。
たぶんMFCだと思うのでひょっとしたらはずしているところがあるかもしれませんが
その時はすいません。