【计算机图形学】
作者:互联网
#**
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