网站搭建详细流程,做网站的算什么行业,沙坪坝最新消息今天,asp.net网站连接mysql参考#xff1a;
http://blog.csdn.net/zang141588761/article/details/50536788 [转载]MFC中画直线和曲线 一、画直线要想在MFC中画出有颜色的线条#xff0c;首先就要设置DC的画笔#xff0c;我们可以按如下方法来设置画笔#xff1a;第一步#xff1a;在View类中添加…参考
http://blog.csdn.net/zang141588761/article/details/50536788 [转载]MFC中画直线和曲线 一、画直线 要想在MFC中画出有颜色的线条首先就要设置DC的画笔我们可以按如下方法来设置画笔 第一步在View类中添加一个COLORREF类型的数据成员m_Color用来保存画笔颜色值在构造函数中对其初始化 m_Color(RGB(255,0,0)) 第二步在WM_LBUTTONDOWN和WM_LBUTTONUP消息的处理函数OnLButtonDown和OnLButtonUp中添加如下代码 void CdrView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default m_StartPointpoint; //用来保存画线起始点的位置即鼠标左键第一次按下时的位置类型为CPoint CView::OnLButtonDown(nFlags, point); } void CdrView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default //第一种方法用HDC绘图使用API函数设置画笔颜色 //第二种用CDC类绘图使用CPen类构造画笔 //第三种用CClient类绘图使用CPen类构造画笔跟第二种方法不同的是用CClientDC时不用手动去获取DC和释放DC CClientDC aDC(this); //CClientDC的构造函数需要一个参数这个参数是指向绘图窗口的指针我们用this指针就可以了 CPen pen(PS_SOLID,1,m_Color); 建立一个画笔类对象构造时设置画笔属性 aDC.SelectObject(pen); aDC.MoveTo(m_StartPoint); aDC.LineTo(point); CView::OnLButtonUp(nFlags, point); } void CdrView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CView::OnMouseMove(nFlags, point); } 运行程序就可以画出红色的线条来如果想画其它颜色只需要设置m_Color的值即可例如要设置成绿色可以在View类的构造函数处把 m_Color(RGB(255,0,0))改写成m_Color(RGB(0,255,0))。颜色的改变是通过设置RGB(0,255,0)中的三个 参数来实现的。RGB中的三个参数分别对应三原色的红、绿、蓝每一个参数的取值范围都是0255通过不同数值的组合就可以画出各种各样的颜色来 了。 二、画曲线 步骤一按照画直线中介绍的方法在视图类中添加对WM_MOUSEMOVE消息的响应函数OnMouseMove 步骤二在OnMouseMove中写如下代码 void CswdfView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default if(nFlagsMK_LBUTTON) //判断鼠标左键是否按下如果按下则移动时画线 { CClientDC aDC(this); aDC.MoveTo(m_StartPoint); aDC.LineTo(point); m_StartPointpoint; //将画线的起点移动到鼠标移动后的点 } CView::OnMouseMove(nFlags, point); } OK运行程序曲线也可以画了。 参考http://www.qnr.cn/pc/erji/cpp/ziliao/200812/103981.html http://school.cfan.com.cn/pro/c/2008-12-08/1228727410d202128.shtml 要想在MFC中画出有颜色的线条首先就要设置DC的画笔我们可以按如下方法来设置画笔 第一步在View类中添加一个COLORREF类型的数据成员m_Color用来保存画笔颜色值在构造函数中对其初始化 m_Color(RGB(255,0,0)) 第二步在WM_LBUTTONDOWN和WM_LBUTTONUP消息的处理函数OnLButtonDown和OnLButtonUp中添加如下代码 void CdrView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default m_StartPointpoint; //用来保存画线起始点的位置即鼠标左键第一次按下时的位置类型为CPoint CView::OnLButtonDown(nFlags, point); } void CdrView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default //第一种方法用HDC绘图使用API函数设置画笔颜色 /*HDC hdc; hdc::GetDC(m_hWnd); ::SelectObject(hdc,CreatePen(PS_SOLID,1,m_Color)); //向设备上下文设备描述表中插入由CreatePen函数创建的画笔 ::MoveToEx(hdc,m_StartPoint.x,m_StartPoint.y,NULL); ::LineTo(hdc,point.x,point.y); ::ReleaseDC(m_hWnd,hdc);*/ //第二种用CDC类绘图使用CPen类构造画笔 /*CDC aDC; CPen pen(PS_SOLID,1,m_Color); //建立一个画笔类对象构造时设置画笔属性 aDC.m_hDC::GetDC(m_hWnd); aDC.SelectObject(pen); aDC.MoveTo(m_StartPoint); aDC.LineTo(point); ::ReleaseDC(m_hWnd,aDC.m_hDC);*/ //第三种用CClient类绘图使用CPen类构造画笔跟第二种方法不同的是用CClientDC时不用手动去获取DC和释放DC CClientDC aDC(this); //CClientDC的构造函数需要一个参数这个参数是指向绘图窗口的指针我们用this指针就可以了 CPen pen(PS_SOLID,1,m_Color); 建立一个画笔类对象构造时设置画笔属性 aDC.SelectObject(pen); aDC.MoveTo(m_StartPoint); aDC.LineTo(point); CView::OnLButtonUp(nFlags, point); } void CdrView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CView::OnMouseMove(nFlags, point); } 运行程序就可以画出红色的线条来如果想画其它颜色只需要设置m_Color的值即可例如要设置成绿色可以在View类的构造函数处把m_Color(RGB(255,0,0))改写成m_Color(RGB(0,255,0))。颜色的改变是通过设置RGB(0,255,0)中的三个参数来实现的。RGB中的三个参数分别对应三原色的红、绿、蓝每一个参数的取值范围都是0255通过不同数值的组合就可以画出各种各样的颜色来了。 分享