在MFC(Microsoft Foundation Classes)编程中,视图的绘制是经由过程OnDraw函数实现的。本文将具体介绍如何在MFC利用顺序中正确挪用OnDraw函数。
总结来说,OnDraw函数是CView类的一个成员函数,当视图须要重绘时,框架会主动挪用它。要正确挪用OnDraw函数,我们须要遵守以下步调:
- 确保持续自CView的类中重载了OnDraw函数。
- 在须要重绘视图时,挪用Invalidate或UpdateWindow函数。
- 在OnDraw函数中实现具体的绘制逻辑。
具体步调如下:
- 重载OnDraw函数:创建一个从CView派生的类,并在类中重载OnDraw函数。比方:
class CMyView : public CView
{
protected:
// 仅重载部分
virtual void OnDraw(CDC* pDC);
}
- 触发OnDraw挪用:当视图须要更新时,可能经由过程以下方法触发OnDraw的挪用:
- 挪用Invalidate函数标记视图为有效,并将鄙人一次消息轮回中主动挪用OnDraw。
- 直接挪用UpdateWindow强迫破即重绘窗口。
- OnDraw函数的实现:在重载的OnDraw函数中,利用传入的CDC东西来停止绘制。CDC代表设备高低文,可能用来绘制文本、图形等。比方:
void CMyView::OnDraw(CDC* pDC)
{
// 绘制逻辑
pDC->TextOut(10, 10, _T("Hello, World!"));
}
总结,经由过程以上步调,我们可能在MFC利用顺序中正确挪用OnDraw函数,实现视图的绘制。须要留神的是,在OnDraw中尽管只停止绘制操纵,避免复杂逻辑处理,以保证绘制的效力。