画笔和画刷

1、画笔

画笔的使用和上一章的字体类似,首先用CreatePen()函数创建一个画笔对象,然后与设备文本绑定,同时得到旧的画笔。用完后删除新画笔,并且恢复旧画笔。画笔的种类有7种,参照下表及下面的例子。 


LineTo()函数从上一次画笔所在位置作为起点,一直画到LineTo()函数指定位置终止。如果要从指定位置画到另一指定位置这就需要用到MoveToEx()函数。MoveToEx()函数只移动画笔的位置,并不画线。


如:

    HDC hdc;
    HPEN hNewPen, hOldPen;
    PAINTSTRUCT ps;

        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);  
            hNewPen = CreatePen (PS_SOLID,1,0x0000FF);
            hOldPen = (HPEN)SelectObject(hdc, hNewPen);
            MoveToEx(hdc, 10, 10, NULL);
            LineTo(hdc, 200, 10);
            DeleteObject(hNewPen);
            EndPaint(hWnd, &ps);
            break; 

2、画刷

画刷的使用和画笔相同,创建画刷有两个函数,CreateHatchBrush()函数创建带图案的画刷,而CreateSolidBrush()函数不带图案。画刷图案主要有6种,而空画刷不需要创建。

例子:

  HPEN hPen, hOldPen;        //画笔
  HBRUSH hBrush, hOldBrush;  //画刷

  case WM_PAINT:
     hdc = BeginPaint(hWnd, &ps); 
    hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));    //画笔
    hOldPen = (HPEN)SelectObject(hdc, hPen);
    hBrush = CreateHatchBrush(HS_CROSS, RGB(0, 255, 0));  //方格刷
    hOldBrush = (HBRUSH)SelectObject(hdc, hBrush);
    Rectangle (hdc, 10, 10, 210, 110);  //画矩形  
    DeleteObject(hPen);                //删除新笔
    DeleteObject(hBrush);              //删除新刷
    EndPaint(hWnd, &ps);
    break;


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值