環境は、XP VS2005(mfc)で、SDI CFormView Windowsエクスプローラスタイルです。
CFormViewベースでプレビューを行いたいのですが、方法がわかりません。
CMainFrameはOnFilePrintPreview()にくるのですがプレビュー方法が分かりません。
また、CFormViewでは、プレビュー方法はわかるのですが、OnPrint等オーバーライドに
きません。
ご存知の方よろしくお願いします。
質問の文章に解せない部分がありますが、
CFrameWndとCViewがどのように連携してプレビューを行っているかを
調べれば解決しそうな気がします。
プレビュー時にCView::OnPrintが何処からコールされるのかを調べて見ては
どうでしょうか?
MSDNを調べれば、何かわかると思いますよ。
PATIOさんありがとうございます。
下記のコードでCMainFrameからプレビューを行うことができました。
void CMainFrame::OnFilePrintPreview()
{
	if (m_bPreview) {
		this->SetFocus();
		return;
	}
CFrameWnd* pOldFrame = (CFrameWnd*)this;
	if (!m_pTemplate) {
		m_pTemplate = new CSingleDocTemplate(
			IDR_MAINFRAME,
			NULL,
			RUNTIME_CLASS(CFrameWnd),
			RUNTIME_CLASS(CViewPrintPreview));
		AfxGetApp()->AddDocTemplate(m_pTemplate);
	}
	CFrameWnd * pFrameWnd = m_pTemplate->CreateNewFrame( NULL, NULL );
	m_bPreview = TRUE;
m_pTemplate->InitialUpdateFrame( pFrameWnd, NULL);
	CViewPrintPreview* pView=(CViewPrintPreview*)pFrameWnd->GetActiveView
();
	pView->m_pOldFrame = pOldFrame;
	AfxGetApp()->m_pMainWnd = pFrameWnd;
	pView->OnFilePrintPreview();
}

 
  
  
  
  