5°

vc++中HBRUSH的几种用法

HBRUSH hbr;

第一种: hbr= CreateSolidBrush(RGB(255,0,0));                       //创建单色的画刷

第二种: hbr= (HBRUSH)GetStockObject(BLACK_BRUSH);   //只能取特定颜色的画刷,如BLACK_BRUSH,GRAY_BRUSH刷

第三种: hbr= CreatePatternBrush(HBITMAP hbmp);               //得到位图画刷

第四种: hbr = CreateHatchBrush(int fnStyle,                             //创建一种带阴影的画刷
                              COLORREF clrref
                               )

第五种: hbr= CreateBrushIndirect(LOGBRUSH);                    //通过LOGBRUSH结构体来取画刷
  

 typedef struct tagLOGBRUSH { 
    UINT     lbStyle; //画刷类型
    COLORREF lbColor; //颜色
    LONG     lbHatch; //阴影
 } LOGBRUSH, *PLOGBRUSH;

第六种: hbr= HBRUSH CreateDIBPatternBrush(                   //通过与设备无关位图创建一个画刷
     HGLOBAL hglbDIBPacked,  // handle to DIB
     UINT fuColorSpec        // color table data
   );

 

附加:

RECT rc;

    GetWindowRect(&rc);
    ScreenToClient(&rc);

 HDC hdc;

primarysurface->GetDC(&hdc);//得到

FillRect(hdc,&rc,hbr);//填充一个指定的rc矩形区域

本文由【rainbowcode】发布于开源中国,原文链接:https://my.oschina.net/u/3874841/blog/3072715

全部评论: 0

    我有话说: