mfc如何创建OnDraw函数
时间: 2023-08-31 16:13:31 浏览: 608
在 MFC 中,可以通过在视图类中添加 OnDraw 函数来实现绘图操作。具体步骤如下:
1. 在 Visual Studio 中打开 MFC 应用程序项目;
2. 选择“视图”菜单,然后选择“类向导”;
3. 在“类向导”对话框中,选择“视图类”,然后单击“添加类”按钮;
4. 按照向导指引,输入类名称、基类等信息,然后单击“完成”按钮;
5. 打开类的头文件,在类声明中添加 OnDraw 函数的声明,如下所示:
```
class CMyView : public CView
{
public:
virtual void OnDraw(CDC* pDC);
};
```
6. 打开类的源文件,在 OnDraw 函数中添加绘图代码,如下所示:
```
void CMyView::OnDraw(CDC* pDC)
{
// 在此处添加绘图代码
}
```
7. 在绘制完成后,调用 CDC::MoveTo、CDC::LineTo、CDC::Rectangle 等函数绘制图形,或者调用 CDC::TextOut、CDC::DrawText 等函数绘制文本;
8. 在需要绘图的时候,通常是在窗口被重绘时调用 OnDraw 函数。在 MFC 中,可以通过 WM_PAINT 消息来触发窗口重绘,或者手动调用 Invalidate 函数来强制刷新窗口。例如:
```
void CMyView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// 在窗口大小改变时强制刷新窗口
Invalidate();
}
```
上面的代码会在窗口大小改变时调用 Invalidate 函数,从而触发 WM_PAINT 消息,最终调用 OnDraw 函数进行绘图。
阅读全文