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

画画是讲究色彩与线条,不同的地方是采用不同的画笔。上面显示直线,都是采用设备缺省的画笔来画直线。现在就来介绍怎么样创建自己的画笔,比如设置画笔的颜色,画笔的大小。像 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 //
#006 void CCaiWinMsg::OnDraw(HDC hDC)
#007 {
#008  // 移到指定位置 .
#009  POINT ptLeftTop;
#010  ptLeftTop.x = 10;
#011  ptLeftTop.y = 10;
#012  MoveToEx(hDC,ptLeftTop.x,ptLeftTop.y,NULL);
#013 
#014  // 修改直线的颜色 , 粗细 .
#015  HPEN hPen = CreatePen(PS_SOLID, 10, RGB(0, 255, 0));
#016 
#017  // 设置当前设备的画笔 .
#018  HGDIOBJ hOldPen = SelectObject(hDC,hPen);
#019 
#020  // (10,10) (100,100) 画一条直线 .
#021  ptLeftTop.x = 100;
#022  ptLeftTop.y = 100;
#023  LineTo(hDC,ptLeftTop.x,ptLeftTop.y);
#024 
#025  // 恢复原来的画笔 .
#026  SelectObject(hDC,hOldPen);
#027 
#028  // 删除创建的画笔 .
#029  DeleteObject(hPen);
#030  
#031 }
 
 

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


你可能感兴趣的:(windows)