MFC基于对话框,鼠标点击一个圆域(固定的如50,50)中任意一点时,用蓝色画出这个圆,如何实现? 5

问我已经建好了LButtonDown函数,坐标都知道,是在OnPaint中实现还是在LButtonDown中?请写出关键代码... 问我已经建好了LButtonDown函数,坐标都知道,是在OnPaint中实现还是在LButtonDown中?
请写出关键代码
展开
 我来答
yanpongchen
2013-08-24 · TA获得超过100个赞
知道答主
回答量:94
采纳率:0%
帮助的人:67万
展开全部
方法很多,我就例举两种吧。
1、你可以再主窗口中创建一个子窗口,并且把子窗口利用函数SetWindowRgn函数设置为直径或半径为50的不规则圆形窗口,然后再在这个不规则窗口中相应LBUTTONDWON消息,当有鼠标按下时就把窗口的背景换成相应的颜色就OK了。
2.你可以充分利用你所学的数学知识,当鼠标按下时获取鼠标的x,y坐标,然后利用数学解法,算出你的点击点是否在你的规定范围内,如果是然后利用CDC的画圆函数把图形画在背景上就行啦。
倨孔鞍吞低寡N
2013-08-24 · 超过10用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:30.1万
展开全部
LButtonDown中

CDC *pDC = GetDC();
pDC->Ellipse( x-50, y-50, x+50, y+50);
追问
我在对话框中插入了位图,请问怎么能显示出这个圆啊,好像覆盖了还是什么原因看不到?如果可以+QQ好么
追答
你把在LButtonDown处理的过程保存到一个函数中,并对圆心位置进行保存,在LButtonDown中调用这个函数,在OnPaint中也调用这个函数。如  声明一个函数 void Draw();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cb1bfc517
2013-08-24 · TA获得超过480个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:144万
展开全部
在LButtonDown实现具体代码
追问
if((point.x-259)*(point.x-259)+(point.y-350)*(point.y-350)<250){
后面怎么写请问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式