CMyView::OnPrepareDC()究竟是有何用啊!在线等待!
void CEX04AView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
pDC->SetMapMode(MM-HIMETRIC);
CView::OnPrepareDC(pDC, pInfo);
}
为什么设置坐标映射模式要在这里面呢,
还有,CView::OnPrepareDC(pDC, pInfo);我把删除了,也没有出错,为什么?
我记在在CWnd中,这个函数非常得要,是窗口的初始化问题。
“技术内幕中说,应用程序框架将在调用OnDraw()之前调用OnPrepareDC函数,那么我要问,当我在别的函数中调用OnPrepareDC是,会不会OnDraw也会被调用呢?
比如这样:
void CEX04AView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
OnPrepareDC(&dc);
CRect rectDevice=m_rectEllipse;
dc.LPtoDP(rectDevice);
……………………
}
这会不会再次引发OnDraw的调用呢,(注:我没有改变窗口的大小,也没有刷新窗口)