이것은 이전 질문과 연결됩니다.CHtmlView Navigate2 및 ExecWB 실행
나는() 내 응용 프로그램에 대한보기의 새로운 유형에 대한했지만 CHtmlView에서 파생 된 새로운 뷰를 만들기 위해 관리 보고서를 생성하지만이 인쇄 OnFilePrint에서 새로운보기
class CMyHtmlView : public CHtmlView
{
protected: // create from serialization only
CMyHtmlView();
DECLARE_DYNCREATE(CMyHtmlView)
// Attributes
public:
CReportDoc* GetDocument();
CString m_sFileName;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyHtmlView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void OnInitialUpdate(); // called first time after construct
virtual void OnFilePrintPreview();
virtual void OnFilePrint();
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CMyHtmlView();
//{{AFX_MSG(CMyHtmlView)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
void CMyHtmlView::OnFilePrintPreview()
{
// Before this I will call a Function Generate a HTML File in a Location and Updated in m_sFileName
Navigate2(m_sFileName);
ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER, NULL, NULL);
}
void CMyHtmlView::OnInitialUpdate()
{
CHtmlView::OnInitialUpdate();
Navigate2(_T("about:blank"));
}
void CMyHtmlView::OnFilePrint()
{
// Before this I will call a Function Generate a HTML File in a Location and Updated in m_sFileName
Navigate2(m_sFileName,NULL,NULL);
CHtmlView::OnFilePrint();
}
에서 soem 문제를 찾을 수있다 어떤 문제없이 일하고있다. 그러나 문제는 OnFilePrintPreview()에 있습니다. 내가 잘못 아무것도 오전에는 인쇄 미리보기 창이
을 표시되지이동 후 때는 ExecWB를()() 앱만을 HTML보기를 기반으로 창을 만드는 호출에 : 여기
문제인가?
나의 인쇄 및 인쇄 미리보기 이벤트를 수정했습니다. 당신은 명확히 할 수 있습니까? – cha
'Navigate()'는 비동기 작업입니다. 인쇄 미리보기를 호출하기 전에 '탐색 완료'콜백을 기다려야합니다. – user1793036