MFC编程中,如何使我点击单文档上方的某个菜单选项后,画出一个圆?

比如我创建了一个菜单叫“绘图”,里面有个选项是“开始”,点击“开始”后,怎么才能在窗口中利用CDC画出一个圆?我试着写了函数,可是运行时老是要出错,我想知道是我哪里没有做... 比如我创建了一个菜单叫“绘图”,里面有个选项是“开始”,点击“开始”后,怎么才能在窗口中利用CDC画出一个圆?我试着写了函数,可是运行时老是要出错,我想知道是我哪里没有做对……我的代码很简单,如下:
void CMainFrame::OnEditStart()
{
CDC *pDC;
pDC->Ellipse(100,100,200,200);
}

如果谁有耐心可以具体说下函数映射的步骤,我怕是我搞错了,谢谢。
展开
 我来答
qq313619456
2010-07-27 · TA获得超过2013个赞
知道大有可为答主
回答量:3770
采纳率:0%
帮助的人:1987万
展开全部
注意事项:
1.如果是映射菜单命令的话,可以视图类映射,也可以在主框架映射,还可以在文档类或者应用类映射都可以,因为它是全局命令。但是你调用
pDC->Ellipse(100,100,200,200); 的话,在不同的类中映射位置可能不一样。
2 CDC *pDC; 你只是声明了一个设备上下文的指针,这个设备上下文里面什么都没有,当然画不了图。应该对它赋值后再绘图。
CDC * dDC=GetDC();这样就可以了。
清风or朗月
2010-07-27 · TA获得超过1089个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:318万
展开全部
你先有了一个MainFrameWnd,然后你的View有覆盖在你的MainFrameWnd上面(你的单文档程序的那块白色的地方就是View),你必须要是View类来响应你的ON_COMMAND消息才行,一般响应的顺序是先View,然后Doc,然后MainFrame
你在你的View类的OnDraw()函数中使用绘图函数应该是可以的,记得画完之后需要刷新一下你的绘图区,不然很可能也不会出现你要的图形...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
deykl
2010-07-27 · TA获得超过164个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:146万
展开全部
你要把消息映射到视图中,你现在这是CMainFrame画不出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
坏卵悸副9i
2010-07-27
知道答主
回答量:31
采纳率:0%
帮助的人:11.4万
展开全部
把函数添加到CView下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式