用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 展开
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 展开
6个回答
展开全部
把几个圈圈从大往小画就可以了,,或者你把DC的画刷设成无色。
如果要画的范围在你的程序窗口上,那可以处理窗口的click事件 来获取圆心,如果在自己的窗口外,就需要用勾子来获取鼠标点击的位置。具体请参考MSDN。
如果要画的范围在你的程序窗口上,那可以处理窗口的click事件 来获取圆心,如果在自己的窗口外,就需要用勾子来获取鼠标点击的位置。具体请参考MSDN。
更多追问追答
追问
哥们,你这样说我听不太懂啊,给附点指令吧
追答
把几个画圈的函数顺序反过来,先画大圈,再在大圈里画小圈,就可以了。。
下面的方法就是处理鼠标点击事件 ,这个总会吧,点击的事件响应函数 里,有个参数就是鼠标的位置,这个位置做为圆心,然后计算圆的位置,再用这个画圈的函数 画出来就行了。
展开全部
??????
是画刷 和 画笔的问题吧?
画 空心圈 还是 实心圈 ?
DC用的 是画刷还是画笔?
是画刷 和 画笔的问题吧?
画 空心圈 还是 实心圈 ?
DC用的 是画刷还是画笔?
追问
就用画笔就好,我要解决的是几个圈圈相互覆盖的问题。还有就是鼠标那个真心不会搞
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
GetStockObject获取空画刷,SelectObject选入DC 这时候就不会挡住了。
定义变量,鼠标按下时开始画,松开结束,鼠标移动画出圆。坐标从param里取。
定义变量,鼠标按下时开始画,松开结束,鼠标移动画出圆。坐标从param里取。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
画 空心圆 只要 给 dc 设置 一个 空心的刷子 就可以了,用 鼠标控制 点的坐标 只要加入 鼠标事件 然后再里面写定位的方法就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LButtonDown会有一个参数point,你直接以那个为中心点画圆就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询