其他分享
首页 > 其他分享> > 【计算机图形学】

【计算机图形学】

作者:互联网

#**

MFC绘图的几种方式

**
##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);
      }

标签:菜单,计算机,CDC,CTestView,图形学,绘图,DrawObject,pDC
来源: https://blog.csdn.net/m0_59428824/article/details/123618693