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

转载于:https://www.cnblogs.com/sylar-liang/p/5408891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值