モードレスダイアログについて

[戻る]
tom 2003/12/14(日) 13:53:09
モードレスダイアログについて質問だがあります。
CDialogクラスを継承してCSmpDlgクラスを作成し、

void CSmpDlg::OnClose() 
{
    DestroyWindow();
}

void CSmpDlg::PostNcDestroy() 
{
    delete this;
}

とオーバーライドした関数を実装しました。

ダイアログを使用する側では
CSmpDlg* pDlg = new CSmpDlg();
pDlg->ShowWindow(SW_SHOW);

として、ダイアログを表示しています。

以上のようにして、デバッグ実行させると、
------------------------------------------------------------------------
Warning: calling DestroyWindow in CDialog::~CDialog --
    OnDestroy or PostNcDestroy in derived class will not be called.
------------------------------------------------------------------------
といったメッセージがデバックウィンドウに表示されます。

PostNcDestroy()が呼ばれているはずなのですが、どうしてかわかりません。

どうか、原因がわかるかたいましたら、よろしくお願いします。

tom 2003/12/14(日) 13:57:51
[[解決]]
自分で質問しておいて、ミスを発見しました。
もう一つ作成したモードレスダイアログの警告メッセージでした。
質問のダイアログについては問題ないことがわかりました。

古いスレッドには追加発言できません。