Static Text怎么样做成背景透明?

raylin 2009-05-06 11:24:10
我的背景有一张图片,现在上面的静态框老是显示白色,有没有办法让它的背景跟对话框背景一致? 谢谢。
...全文
179 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
feilinhe 2009-05-06
  • 打赏
  • 举报
回复
属性里面-》Styles->勾选Simple
Ryanwen 2009-05-06
  • 打赏
  • 举报
回复
1、将父窗口对应图片区域作为控件的背景
2、重载控件 不调用父类的绘制函数
raylin 2009-05-06
  • 打赏
  • 举报
回复
楼上的两位,我把transparent属性为True了,还是显示白色的背景的,你们试成功了吗?
lufy_king 2009-05-06
  • 打赏
  • 举报
回复
直接在资源视图中,设置此控件的transparent属性为True.
wnx_u 2009-05-06
  • 打赏
  • 举报
回复
有一个属性,是把背景设为透明的,是什么我记不清了,你查查书吧
raylin 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 biweilun 的回复:]
C/C++ codeHBRUSH CIDCardReaderDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINT nCtlColor)
{
HBRUSH hbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
pDC->SetBkMode(TRANSPARENT);return(HBRUSH)GetStockObject(NULL_BRUSH);
}//上面的不行看这个行不
[/Quote]
谢谢,这个可以。呵呵
biweilun 2009-05-06
  • 打赏
  • 举报
回复

HBRUSH CIDCardReaderDlg::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
//上面的不行看这个行不
biweilun 2009-05-06
  • 打赏
  • 举报
回复

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

// TODO: Change any attributes of the DC here
switch(pWnd->GetDlgCtrlID())
{
case IDC_STATIC1:
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
default:
break;
}

// TODO: Return a different brush if the default is not desired
return hbr;
}

NineheadedBird 2009-05-06
  • 打赏
  • 举报
回复
响应窗体 WM_CTLCOLORSTATIC 消息,百度上有代码
raylin 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 feilinhe 的回复:]
属性里面-》Styles->勾选Simple
[/Quote]
没有Simple这个选项啊
jyh_baoding 2009-05-06
  • 打赏
  • 举报
回复
设置一下字体为透明

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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