SPREADとCDialogのCREATE
システムを開発中で困った事が起きているので質問してみました。
開発環境は.NET2008でC++、MFCアプリケーションのプロジェクトです。
SPREADのバージョンは3.0.0.52(SPR32X30.ocx)です。
簡潔に言うと、SPREADを貼ったダイアログが出力出来ません。
1.SPREADを貼る前(m_dlgはCDialog *m_dlgとして親Dialogで定義)
m_dlg->Create(ID, this);(この時ちゃんとm_hWndに値が入る)
m_dlg->ShowWindow(SW_SHOW);
で問題なく出力されます。
2.SPREADをm_dlgに貼った場合
m_dlg->Create(ID, this);
は通るには通るのですが、m_hWndがNULLのままなので、
m_dlg->ShowWindow(SW_SHOW);
でハンドルが無いので落ちてしまう。
この2つを比較すると、後者は
dlgcore.cppの311行目
hWnd = ::CreateDialogIndirect(hInst, lpDialogTemplate,
pParentWnd->GetSafeHwnd(), AfxDlgProc);
で値が取れていないようです。
他の.Net2008プロジェクトでは問題なく使えていますが、今回問題となっているプロジェクトは、
「VC6から.Net2008に置換」
しています。
何か悪影響があるのでしょうか?
因みに、置換する前はSPREAD関係は何も使っていません。
お礼
回答ありがとうございます。 出来ました。 #タスクトレイのアイコンをクリックした場合です。