MFC中,为什么设置不了控件Groupbox的背景透明?该怎么处理

如上面所说

经过多次的测试,发现:1、 直接拖一个控件到界面上,通过属性栏里设置Transparent的值为TRUE,可以实现我需要的效果。而且这个的Group Box背景和DLG一致。2、属性栏里的Transparent值为FALSE。加入如下WM_CTLCOLOR消息代码处理,无效。C/C++ codeif(nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkMode(TRANSPARENT); return (HBRUSH)::GetStockObject(NULL_BRUSH); } 后修改下,修改后代码:C/C++ codeif(nCtlColor == CTLCOLOR_DLG) { pDC->SetBkMode(TRANSPARENT); return (HBRUSH)::GetStockObject(NULL_BRUSH); } 想把DLG界面的背景透明掉,但是还是没成功,背景依然存在。3、动态创建一个Group box控件,加入属性,代码如下。显示的效果还是达不到第一效果。C/C++ codeCButton* btn = new CButton(); btn->Create("static",WS_EX_TRANSPARENT|BS_GROUPBOX/*|BS_NOTIFY*/|WS_VISIBLE|WS_CHILD, ret,this,533525); btn->ShowWindow(1); 见图,第一个Group box是在属性栏里设置 Transparent为TRUE的效果, 第二个Group box的Transparent值为FALSE,但是做了上面第2个方案处理了。但是效果就不能和第1个Group box效果一样了。------解决方案-------------------------------------------------------- pDC->SetBkMode(TRANSPARENT);只对“Static”标题内的区域有效,不是整个控件透明。------解决方案--------------------------------------------------------可以设置.C/C++ code if(pWnd->GetDlgCtrlID()==IDC_COM_SEX) { [color=#FF0000]pDC->SetBkMode(OPAQUE);[/color] pDC->SetBkColor(RGB(180,230,255)); return m_brush; }------解决方案--------------------------------------------------------ModifyStyleEx().------解决方案--------------------------------------------------------建议自绘------解决方案--------------------------------------------------------我一般都是直接在背景上自己画了
温馨提示:答案为网友推荐,仅供参考
MFC中,为什么设置不了控件Groupbox的背景透明?该怎么处理
经过多次的测试,发现:1、 直接拖一个控件到界面上,通过属性栏里设置Transparent的值为TRUE,可以实现我需要的效果。而且这个的Group Box背景和DLG一致。2、属性栏里的Transparent值为FALSE。加入如下WM_CTLCOLOR消息代码处理,无效。C\/C++ codeif(nCtlColor == CTLCOLOR_STATIC)

c#怎么设置groupbox的背景透明
方法1:在控件的背景颜色(BackColor)中选择,WEB面板中的Transparent属性,就可以了。方法2:这种方法也可以参考下:using System.Drawing;先试一下:groupBox1背景色,这里设为Gray(注窗体中惟一的背景色)。然后在触发的事件或"Form1_Load"事件中 this.groupBox1.BackColor = Color.Gray;this.Transparen...

C#如何使用户控件(我组合起来的一个控件)成为背景透明?
WinForm 有些控件是不能设置背景透明的 比如按钮,列表框等 其他比如panel.groupbox可以设置透明 如果是自己组合的控件的话,可以修改BackColor = Color.Transparent 就成透明色了

...mfc 静态文本已经使用透明了还给对话框加了背景图片
{ \/\/ 背景色透明 pDC->SetBkMode(TRANSPARENT);\/\/ 返回背景色的画刷 return m_BgBrush;} \/\/ TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr;}

如何用c++的mfc绘制柱状图
\/\/处理了一下,肯定有简洁的处理方式,但是我也懒得去想了,我很懒的 dc.SetBkMode(TRANSPARENT);\/\/设置透明背景,要不然输出文字之后会有一块白,难看 char num[10];sprintf(num,"%d",answer[index][i+1]);CString strnum(num);dc.TextOutW((rc.left+rc.right)\/2-dx,rc.bottom-dy*(...

groupBox控件添加不了其它控件!?我用的是vs。
目前VS的IDE对MFC的支持情况就是这样子的。你可以把要一起移动的控件都选中,再移动吧。或者改用其他语言来编写界面,底层用VC来实现。祝你成功!

mfc如何进行语言版本切换
如果是打包打成不同语言版本的话 就制作纯语言资源dll(或者mui), 就是建立个dll工程,添加rc资源,然后string table弄好,然后生成dll,要使用这个资源的工程 是用loadlibary 导入库然后在根据string id找到字符串。如果是直接在程序里切换,那就添加个其他语言的对话框资源吧,或者参考 http:\/\/www....

相似回答