毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

MFC中如何设置控件透明背景色

更新时间:2012-10-2:  来源:毕业论文

MFC中如何设置控件透明背景色

// 1. 在对话框的头文件中加入
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

// 2. 在对话框的cpp文件中加入
BEGIN_MESSAGE_MAP(CtransparentDlg, CDialog)
  ON_WM_CTLCOLOR()
  //}}AFX_MSG_MAP
END_MESSAGE_MAP()

HBRUSH CtransparentDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
  HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);  

  if(nCtlColor == CTLCOLOR_STATIC)
  {
  pDC->SetBkMode(TRANSPARENT);  
  return (HBRUSH)::GetStockObject(NULL_BRUSH);  
  }
  return hBrush;
}

很多的做法都是这样的,但为什么我做不到透明的效果。求指点。。

我试了一下,没问题啊
if(nCtlColor == CTLCOLOR_STATIC) 
这是对Static控件进行透明处理的
你想透明的是static么?

int nID = pWnd->GetDlgItemID();
if(nID == "你的控件ID")
{
...
}
这样是否能解决?

不是在头文件中加入那些东西,而是重载主窗口对话框的WM_CTLCOLOR消息

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。