#**
**
##1.使用OnDraw()函数直接绘图
在CTestView类的OnDDraw()成员函数内绘图,可以直接使用pDC指针绘图,且程序一运行屏幕上即自动绘出图形,这种方法常用于绘制初始场景。
##2.使用菜单绘图
(1)在ResourceView标签页内双击Menu项中的IDR_MAINFRAME,打开菜单编辑器,修改弹出菜单项为“文件”、“图形”和“帮助”,为‘图形’菜单项添加子菜单“绘图”结果如上图所示。“绘图”菜单属性如下图所示,资源标识符为ID_MDRAW。
(2)选择View|ClassWizard菜单命令,弹出MFC Class Wizard对话框,为CTestView类添加“绘图”菜单命令消息的映射函数,菜单资源标识符选择ID_MDRAW,处理函数名默认为OnMdraw();
(3)在TestView.cpp文件中找到“绘图”菜单的处理函数OnMdraw()的定义,添加代码如下:
void CTestView::OnMdraw() { //TODO:Add your command handler code here CDC*pDC=GetDC(); void CTestView::OnDraw(CDC*pDC) { CTestDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); //TODO:add draw code for native data here ReleaseDC(pDC); }
##3.使用自定义函数绘图
(1)在ClassView标签页,选择CTestView类,右击弹出如上图所示的快捷菜单,选择Add Member Function对话框。添加公有绘图成员函数DrawObject(CDC*pDC),如下图所示。
(2)在TestView.cpp文件中找到DrawObject(CDC*pDC)函数的定义,添加下面的实现代码。
void CTestView::OnDraw(CDC*pDC) { CTestDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); //TODO:add draw code for native data here
(3)在OnDraw()函数中调用DrawObject()函数绘图,代码如下:
void CTestView::OnDraw(CDC*pDC) { CTestDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); //TODO:add draw code for native data here DrawObject(pDC); }
(4)也可在“绘图”菜单函数中调用DrawObject()函数绘图,代码如下:
void CTestView::OnMdraw() { //TODO:Add your command handler code here CDC*pDC=GetDC(); DrawObject(pDC); ReleaseDC(pDC); }