MFC-SetBkMode设置指定DC的背景混合模式

 

复制代码
    
    HDC hdc = ::GetDC(m_hWnd);
    LOGFONT lf = { 0 };
    lf.lfWeight = 16; //平均宽度
    lf.lfHeight = 40;//字体高度
    lf.lfCharSet = GB2312_CHARSET;//字符集
    lstrcpy(lf.lfFaceName, _T("宋体"));
    HFONT hfont = ::CreateFontIndirect(&lf);//创建逻辑字体
    HFONT holdfont = (HFONT)SelectObject(hdc, hfont);

    COLORREF oldcolor=GetTextColor(hdc);//获取DC中的文本颜色
            
    COLORREF color1= SetTextColor(hdc, RGB(0,0,255));//设置指定DC中的文字颜色
    
    int i=SetBkMode(hdc,TRANSPARENT);//设置指定DC的背景混合模式
    /*
    背景混合模式用于与文本,填充画刷和当画笔不是实线时
    参数1:HDC hdc
    参数2:int iBkMode  要设置的模式,其值可以为:
                OPAQUE=2        不透明-默认
                TRANSPARENT=1   透明
    返回值:如果函数运行成功,返回当前DC之前的背景模式
            如果函数运行失败,返回零    
    */


    RECT rect = { 50,50,400,400 };
    DrawText(hdc, _T("GDI测试"), -1, &rect, DT_LEFT);


    SetTextColor(hdc, color1);//还原
    SelectObject(hdc, holdfont);
    DeleteObject(hfont);
复制代码

 

 

 

 

posted @   天子骄龙  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-04-26 halcon-elliptic_axis计算区域的等效椭圆数据
点击右上角即可分享
微信分享提示