zoukankan      html  css  js  c++  java
  • MFC/WTL 设置背景图和控件透明的方法

    1.MFC 对话框设置背景图

    方法一:

    1>资源中导入一张bitmap图,如命名为 IDB_BITMAP1

    2>对话框中添加一个 Picture Control,属性设置 Type 改为Bitmap,Image 设置为 IDB_BITMAP1, Transparent 设置为 False 即可

    方法二: 此方法尚未验证

    1>资源添加一张bitmap,命名为IDB_BITMAP1

    2>Dlg中定义 CBrush m_brBk;

    3>OninitDialog中

    CBitmap bmp;

    bmp.LoadBitmap(IDB_BITMAP1);

    m_brBk.CreatePatternBrush(&bmp);

    bmp.DeleteObject();

    4>重载 WM_CTLCOLOR

    if (pWnd == this)

    {

      return m_brBk;

    }

    2.MFC 对话框设置控件为透明.

    1>button则需要额外设置属性 TRANSPARENT 为 True,其他的 checkbox,static,edit等控件TRANSPARENT设置为 true或false都可以透明显示。

    2>重载对话框的 WM_CTLCOLOR

    {

      if(pWnd->GetDlgCtrlID() == 控件ID) //控件可以为static,checkbox,button,edit等

      {

      pDC->SetBkMode(TRANSPARENT);

        pDC->SetTextColor(RGB(0,0,0)); //字体颜色,黑色

        return (HBRUSH)GetStockObject(NULL_BRUSH);

      }

      return hbr;

    }

    3.WTL 添加背景图并透明显示

    4.WTL 控件透明

    5.WTL 设置字体大小颜色

    CFont cf;

    cf.CreateFont(20, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T("宋体"));

    m_listctrl.SetFont(cf, TRUE);

    m_listctrl.SetTextColor(RGB(0,0,0)); //设置字体颜色

  • 相关阅读:
    【18焦作网络赛 J】 大数开方
    最小圆覆盖
    高斯消元
    回文自动机 PAM
    后缀自动机 SAM
    后缀数组 SA
    左偏树(可并堆)
    动态树LCT(Link-Cut-Tree)
    职场自我推销10大金点子
    数据库笔记
  • 原文地址:https://www.cnblogs.com/sylar-liang/p/5408891.html
Copyright © 2011-2022 走看看