用VC++画图的问题

2个问题1.我要画一个五环,依次画了五个圈圈,然后杯具的发现后画的会把之前画的挡住,求达人指点。就用分别画五个圈圈拼图的方式来做。怎样能不让他们重叠?指令是if(A=0)... 2个问题
1.我要画一个五环,依次画了五个圈圈,然后杯具的发现后画的会把之前画的挡住,求达人指点。就用分别画五个圈圈拼图的方式来做。怎样能不让他们重叠?
指令是
if (A=0){
pDC->Ellipse(50,50,300,300);
pDC->Ellipse(250,50,550,300);
pDC->Ellipse(450,50,750,300);
pDC->Ellipse(200,150,450,400);
pDC->Ellipse(350,150,600,400);}

2.怎么做能让使用的人自己确定圈圈的位置?我的意思是做好的EXE打开以后用鼠标来确定,而不是在编程的时候就定好。

请说的清楚些谢谢,我是初学。最好能把文件夹打包给我,1097412158@qq.com
展开
 我来答
望穿秋水待伊人
2012-09-04 · TA获得超过644个赞
知道小有建树答主
回答量:708
采纳率:100%
帮助的人:799万
展开全部
把几个圈圈从大往小画就可以了,,或者你把DC的画刷设成无色。

如果要画的范围在你的程序窗口上,那可以处理窗口的click事件 来获取圆心,如果在自己的窗口外,就需要用勾子来获取鼠标点击的位置。具体请参考MSDN。
更多追问追答
追问
哥们,你这样说我听不太懂啊,给附点指令吧
追答
把几个画圈的函数顺序反过来,先画大圈,再在大圈里画小圈,就可以了。。

下面的方法就是处理鼠标点击事件 ,这个总会吧,点击的事件响应函数 里,有个参数就是鼠标的位置,这个位置做为圆心,然后计算圆的位置,再用这个画圈的函数 画出来就行了。
百度网友61311ba
2012-09-04 · TA获得超过882个赞
知道小有建树答主
回答量:1386
采纳率:0%
帮助的人:874万
展开全部
??????

是画刷 和 画笔的问题吧?

画 空心圈 还是 实心圈 ?

DC用的 是画刷还是画笔?
追问
就用画笔就好,我要解决的是几个圈圈相互覆盖的问题。还有就是鼠标那个真心不会搞
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goodczs
2012-09-04 · TA获得超过2118个赞
知道小有建树答主
回答量:2251
采纳率:0%
帮助的人:940万
展开全部
GetStockObject获取空画刷,SelectObject选入DC 这时候就不会挡住了。
定义变量,鼠标按下时开始画,松开结束,鼠标移动画出圆。坐标从param里取。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shaoqi08110820
2012-09-05 · TA获得超过2508个赞
知道大有可为答主
回答量:1514
采纳率:100%
帮助的人:1732万
展开全部
CDC *pDC=GetDC();
CPen pen;
pen.CreatePen(PS_SOLID, 1,RGB(255,0,0));
pDC->SelectObject(&pen);
pDC->SetBkMode(TRANSPARENT);
pDC->SelectStockObject(NULL_BRUSH);
pDC->Ellipse(50,50,300,300);
pDC->Ellipse(250,50,550,300);
pDC->Ellipse(450,50,750,300);
pDC->Ellipse(200,150,450,400);
pDC->Ellipse(350,150,600,400);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiqianlq
2012-09-05 · TA获得超过115个赞
知道小有建树答主
回答量:624
采纳率:0%
帮助的人:275万
展开全部
画 空心圆 只要 给 dc 设置 一个 空心的刷子 就可以了,用 鼠标控制 点的坐标 只要加入 鼠标事件 然后再里面写定位的方法就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里花更香
2012-09-06 · 超过31用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:110万
展开全部
LButtonDown会有一个参数point,你直接以那个为中心点画圆就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式