标签透明的问题

appleone1984 2009-12-04 11:30:15
我想我用到的label和edit标签 都为透明的,我用OnEraseBkgnd事件来添加背景图,代码是这样的:
HBRUSH CPTTDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
switch(nCtlColor){
case CTLCOLOR_STATIC:
pDC->SetBkMode(TRANSPARENT);
hbr = (HBRUSH)m_brush;
break;
case CTLCOLOR_EDIT:
pDC->SetBkMode(TRANSPARENT);

hbr = (HBRUSH)m_brush;
break;
}
执行之后 控件背景透明了 ,但是控件位置的背景图也被檫除了,不知道改怎么办了?
用mfc 开发的
...全文
52 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_my_god 2009-12-04
  • 打赏
  • 举报
回复
代码在PC下没问题,在mobile下不行,static不会透明。
两种解决方式,一种把static隐藏,在dlg onpaint的时候根据控件位置
SetBkMode(TRANSPARENT);
DrawText
另一种 重载static,把dlg的背景图传递给static,在static,Onapint,static根据位置把背景图属于他的那片区域取出来,贴到static上

真不行,就把位图改成一种颜色把,按你的程序把m_brush的颜色设置的和位图颜色一样,看上去透明...

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧