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

  • 相关阅读:
    一个简短的yahoo YUI介绍
    备忘录
    海量数据库查询
    asp.net webshell 解决 方案
    IE=EmulateIE7 标签的作用
    WINDOWS 2003 IIS网站防木马权限设置安全配置整理
    C语言各种函数
    虚函数的各种情况
    equals与==关于Object覆盖和重载问题
    类型转换函数转换为构造类型
  • 原文地址:https://www.cnblogs.com/sylar-liang/p/5408891.html
Copyright © 2011-2022 走看看