CMainFrameのOnCreateClientで
pContext->m_pNewViewClass = RUNTIME_CLASS( CBaseFrame );
m_pPrevFrame = (CBaseFrame*)CreateView( pContext );
if( !m_pPrevFrame ) return FALSE;
return TRUE;
としてCFrameWndから派生したCBaseFrameを生成しています.
すると,後で CMainFrame内でGetActiveDocument を呼ぶと
NULLを返してきます.
GetActiveDocumentをデバッガで追いかけると,CViewのドキュメントが
NULLとなっていて,どうやらCViewにドキュメントが関連付けられていないよう
です.
どのようにしたら,CDocumentのポインタをちゃんと取得できるように
なるのでしょうか?
よろしくお願いします.
> CFrameWndから派生したCBaseFrameを生成しています.
目的は何ですか。
CViewクラスや、CButton等のクラスではよく派生させて生成しますが、
CFrameWndはあまりやらないですが.........
今,動的に画面分割を行うプログラムを書いていて,
CSplitterWndの各ペインにツールバーつきのウインドウを貼り付けています.
起動時にも分割方法を選べるようにしていて,1画面で起動するときに
CMainFrameにCFrameWndを貼り付けたいと考えています.
MSDNライブラリーでサンプル「VIEWEX」をダウンロードしてみたらいいと思います。