• win32之取画刷的方法


    取画刷(HBRUSH) 的六种方法2009-07-23 15:00HBRUSH 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
    );
    
    例如:
    HBRUSH CAfdView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // TODO: Change any attributes of the DC here
    if (pWnd->GetDlgCtrlID()==IDC_STATIC1)
    {
    pDC->SetTextColor(RGB(200,0,0));
    pDC->SetBkColor(RGB(0,0,255));
    static HBRUSH hBrush = CreateSolidBrush(RGB(222,0,255));
    return hBrush;
    }
    // TODO: Return a different brush if the default is not desired
    else 
    return hbr;
    }
    改变对话框背景色
    HBRUSH CDqfDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    // TODO: Change any attributes of the DC here
    // TODO: Return a different brush if the default is not desired
    if(nCtlColor == CTLCOLOR_DLG)
    {
    CBrush *brush;
    brush = new CBrush(RGB(221,221,221));
    return (HBRUSH)(brush->m_hObject);
    }
    return hbr;
    }

    第一种方法和第二种方法自己测试了可以使用,后面的还没有测试。

  • 相关阅读:
    npm 安装卸载模块 & ionic插件安装与卸载
    Vue中v-model解析、sync修饰符解析
    Vue props用法详解
    vue页面跳转
    Swift 4 中的泛型
    Swift枚举的全用法
    蓝牙 BLE 三种 UUID 格式转换
    SVG图案
    SVG渐变
    SVG坐标系统及图形变换
  • 原文地址:https://www.cnblogs.com/lit10050528/p/4383723.html
Copyright © 2020-2023  润新知