MFC-画笔
在GDI中,用HPEN来表示画笔。H是代表句柄的意思。
在GDI中,画线,画边框(如矩形边框,圆边框,饼边框)都是采用画笔来操作的。
GDI默认的画笔是黑色,宽度为1,样式为实线的画笔。
WIN32方法
HDC hdc = ::GetDC(m_hWnd); ::MoveToEx(hdc, 0, 0, NULL); HPEN hpen = CreatePen(PS_SOLID, 10, RGB(0, 0, 255));//创建画笔 /* 参数1:int iStyle 笔的样式 PS_SOLID 创建一个实线画笔 PS_DASH 创建一个虚线画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效 PS_DOT 创建一个点线画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效 PS_DASHDOT 创建一个点和虚线交替画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效 PS_DASHDOTDOT 创建一个双点线画笔,该值只有当画笔宽度等于1个设备单位或更小时才有效 PS_NULL 创建一个空线画笔 PS_INSIDEFRAME 创建一个内框线画笔,该画笔可以在WindowsGDI输出函数定义的矩形边界所生成的封闭形状的边框内绘制直线 PS_GEOMETRIC 创建一个几何画笔 PS_COSMETIC 创建一个装饰画笔 PS_ALTERNATE 创建一个设置其他像素的画笔 PS_USERSTYLE 创建一个使用由用户提供的风格矩阵的画笔 PS_ENDCAP_ROUND 尾帽为圆形的 PS_ENDCAP_SQUARE 尾帽为方形的 PS_ENDCAP_FLAT 尾帽为平坦的 PS_JOIN_BEVEL 成尖角连接 PS_JOIN_MITET 通过setMiterLimit函数设置的当前极限值范围内斜接;否则,成尖角连接 PS_JOIN_ROUND 成圆角连接 参数2:参数2:int width 画笔的宽度 参数3:COLORREF color 画笔的颜色(颜色用RGB值来描述) */ SelectObject(hdc,hpen); LineTo(hdc, 200, 50); DeleteObject(hpen);//删除对象 /* 用Create创建的的就用Delete释放 该函数删除一个逻辑笔、画笔、字体、位图、区域或者调色板,释放所有与该对象有关的系统资源,在对象被删除之后,指定的句柄也就失效了 */ ::ReleaseDC(m_hWnd, hdc);
MFC方法
CDC* pDC = GetDC(); CPen pen(PS_SOLID, 3, RGB(0, 0, 255));//创建画笔 CPen pen1;//创建对象 pen1.CreatePen(PS_SOLID, 2, RGB(192, 192, 192));//初始化对象 CPen* pOldPen = pDC->SelectObject(&pen); CPoint point = pDC->MoveTo(0, 0); pDC->LineTo(200, 100); DeleteObject(pen); ReleaseDC(pDC);