如何在对话框里画直线

怎么样在MFC的对话框里画直线呢,不是用鼠标,是程序里定义哪个点到哪个点之间连上一条直线.直线可以定义宽度,也可以定义颜色.本人是初学者,在界面布置应用中需要这样的功能,... 怎么样在MFC的对话框里画直线呢,不是用鼠标,是程序里定义哪个点到哪个点之间连上一条直线.直线可以定义宽度,也可以定义颜色.本人是初学者,在界面布置应用中需要这样的功能,各位仁兄帮帮忙啊,需要用到哪些类,定义哪些消息等等.有源码就最好了. 展开
 我来答
百度网友73d8a3d6b
2008-05-24 · TA获得超过650个赞
知道答主
回答量:245
采纳率:0%
帮助的人:322万
展开全部
CClientDC dc(this);//设置当前客户区大小为设备上下文的大小
dc.SetMapMode(MM_LOMETRIC);//设置逻辑坐标系:单位0.1mm.正Y轴向下
//原点屏幕左上角.
CPen pen;
pen.CreatePen(PS_DOT,0,RGB(222,222,222)); //PS_SOLID---实线
//DOT--点阵//1---画笔宽度,0为一个像素点,1则为两个像素点
//RGB=read&green&blue,数字范围0至255,随便调吧
CPen* pOldPen=dc.SelectObject(&pen); //将pen选入DC,同时将被替换下来的画笔存入pOldPen中.以备使用后,恢复原始状态用.
dc.MoveTo(100,-100);//移动到直线的起点坐标
dc.LineTo(1000,-500);//画直线到直线的终点
dc.SelectObject(pOldPen);
pen.DeleteObject();
pOldPen->DeleteObject();
//节约内存,且恢复原样.
//悄悄的说:鼠标画线比程序画线要复杂.
1.要捕捉鼠标消息
2.要捕捉鼠标坐标
3.画线的坐标用的是CPoint类的对象
也就是说绘直线时,程序直接绘与用鼠标直接绘用的是同一个函数.不同的只是参数形式,一个是用一个CPoint的对象做为参数,参数个数为1.另一个是坐标点为参数,参数个数为2.这是因为绘直线的函数的声明中有两个不同参数的构造函数,专用词叫做函数的重载!
//////////
呵呵,当初我也犯过这种错误,以为应是不同的两个函数.到处去找,程序画线的例子!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式