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)); //设置字体颜色

  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/sylar-liang/p/5408891.html
Copyright © 2011-2022 走看看