文章目錄
再現步驟
- 用VS2010建立一個MFC Application項目。
- 在產生嚮導(wizard)中做以下設定:
- Application Type頁:選擇Multiple Documents(預設)
- User Interface頁:勾上Split window
- Generated Classes頁:View的Base class選擇CHtmlView
- 完成組建嚮導
- 編譯Debug版本產生MFC應用程式
- 啟動程式,用菜單File/New產生兩個以上的文件視窗
- 在Windows 7環境下使用工作列的Aero Peek功能預覽該程式的文件視窗
- 程式報錯
出錯原因 1. void CScrollView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)<br />{<br />//...<br />#ifdef _DEBUG<br />if (m_nMapMode == MM_NONE)<br />{<br />TRACE(traceAppMsg, 0, "Error: must call SetScrollSizes() or SetScaleToFitSize()");<br />TRACE(traceAppMsg, 0, "/tbefore painting scroll view./n");<br />ASSERT(FALSE);<br />return;<br />}<br />#endif //_DEBUG<br />//<br />}2. void CHtmlView::OnDraw(CDC* /* pDC */)<br />{<br />// this class should never do its own drawing;<br />// the browser control should handle everything</p><p>ASSERT(FALSE);<br />}<br />解決方案 1. 在OnInitialUpdate方法中調用SetScrollSizes void CXXView::OnInitialUpdate()<br />{<br />CHtmlView::OnInitialUpdate();<br />SetScrollSizes ( MM_TEXT,CSize (0 , 0 ) );<br />Navigate2(_T("http://www.msdn.microsoft.com/visualc/"),NULL,NULL);<br />}<br />2. 覆蓋CHtmlView的OnDraw方法void CXXView::OnDraw(CDC* /*pDC*/)<br />{</p><p>}<br />