Windows API一日一练(32)CreatePen函数

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
画画是讲究色彩与线条,不同的地方是采用不同的画笔。上面显示直线,都是采用设备缺省的画笔来画直线。现在就来介绍怎么样创建自己的画笔,比如设置画笔的颜色,画笔的大小。像 Windows 按钮显示为 3D 的形状,其实就是用两种颜色画笔分别画相应的线,就生成按钮。而创建画笔就需要使用到 CreatePen 函数。
函数 CreatePen 声明如下:
WINGDIAPI HPEN WINAPI CreatePen( __in int iStyle, __in int cWidth, __in COLORREF color);
iStyle 是画笔的类型,比如是实线,还是虚线等等。
cWidth 是线的宽度。
color 是线的颜色。
调用这个函数的例子如下:
#001//
#002// 界面显示输出 .
#003//
#004// 蔡军生 2007/09/10 QQ:9073204 深圳
#005//
#006void CCaiWinMsg::OnDraw(HDC hDC)
#007{
#008// 移到指定位置 .
#009POINT ptLeftTop;
#010ptLeftTop.x = 10;
#011ptLeftTop.y = 10;
#012MoveToEx(hDC,ptLeftTop.x,ptLeftTop.y,NULL);
#013
#014// 修改直线的颜色 , 粗细 .
#015HPEN hPen = CreatePen(PS_SOLID, 10, RGB(0, 255, 0));
#016
#017// 设置当前设备的画笔 .
#018HGDIOBJ hOldPen = SelectObject(hDC,hPen);
#019
#020// (10,10) (100,100) 画一条直线 .
#021ptLeftTop.x = 100;
#022ptLeftTop.y = 100;
#023LineTo(hDC,ptLeftTop.x,ptLeftTop.y);
#024
#025// 恢复原来的画笔 .
#026SelectObject(hDC,hOldPen);
#027
#028// 删除创建的画笔 .
#029DeleteObject(hPen);
#030
#031}


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1777843


你可能感兴趣的:(windows)