关闭

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

364人阅读 评论(0) 收藏 举报
画画是讲究色彩与线条,不同的地方是采用不同的画笔。上面显示直线,都是采用设备缺省的画笔来画直线。现在就来介绍怎么样创建自己的画笔,比如设置画笔的颜色,画笔的大小。像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 }
  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:168730次
    • 积分:2440
    • 等级:
    • 排名:第16095名
    • 原创:50篇
    • 转载:120篇
    • 译文:0篇
    • 评论:7条
    最新评论
    NO Problem