VC的GroupBox控件
我在写vc程序的时候,遇到一个问题,一直都没解决。我建立的是基于对话框的应用程序,整个对话框设置为透明背景HBRUSHCMfc2::OnCtlColor(CDC*pDC,...
我在写vc程序的时候,遇到一个问题,一直都没解决。
我建立的是基于对话框的应用程序,整个对话框设置为透明背景
HBRUSH CMfc2::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
遇到的问题是GroupBox的背景是透明的了,但标题文字下方的横线也露出来了。
请问各位大侠:怎么让文字覆盖背后的横线?
急用!!!!!!!!!!!!!!!!!!!!!!
解决后有丰厚分!!
我说的横线是groupbox的边框线。本来标题文本的下方是不出现横线的。 如图中“第一个点”下方的。 展开
我建立的是基于对话框的应用程序,整个对话框设置为透明背景
HBRUSH CMfc2::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
遇到的问题是GroupBox的背景是透明的了,但标题文字下方的横线也露出来了。
请问各位大侠:怎么让文字覆盖背后的横线?
急用!!!!!!!!!!!!!!!!!!!!!!
解决后有丰厚分!!
我说的横线是groupbox的边框线。本来标题文本的下方是不出现横线的。 如图中“第一个点”下方的。 展开
4个回答
展开全部
造成的原因是,Groupbox先画矩形,然后把文本画上。当文本的背景不透明时,文本可以覆盖掉下面的横线。当透明的时候,就不能覆盖了。
解决办法很多种。
最好的办法是重载CStatic,重绘GroupBox。这种方法简单些,但是,如果客户采用了不同的桌面主题,或者使用了不同的界面风格,得不到体现,因为都还是你画的样子。
还有一种比较复杂的方法。
在背景被擦除前,先准备一张位图(大小和GroupBox一样大,可以GetWindowRect得到),准备一个内存DC,将位图选入该DC。然后向GroupBox发送壹条WM_PAINT消息,但是传递该DC做参数,这样做的目的是,引发GroupBox重绘,但是让它把自己画到这个位图中而不是屏幕上。
背景被重会后,截取文本的那个块,BitBlt到对应位置。这种方法的好处是,如果客户使用Vista或者XP等不同的风格的界面,系统都会用原先的界面界面风格画上,只是背景透明了。
解决办法很多种。
最好的办法是重载CStatic,重绘GroupBox。这种方法简单些,但是,如果客户采用了不同的桌面主题,或者使用了不同的界面风格,得不到体现,因为都还是你画的样子。
还有一种比较复杂的方法。
在背景被擦除前,先准备一张位图(大小和GroupBox一样大,可以GetWindowRect得到),准备一个内存DC,将位图选入该DC。然后向GroupBox发送壹条WM_PAINT消息,但是传递该DC做参数,这样做的目的是,引发GroupBox重绘,但是让它把自己画到这个位图中而不是屏幕上。
背景被重会后,截取文本的那个块,BitBlt到对应位置。这种方法的好处是,如果客户使用Vista或者XP等不同的风格的界面,系统都会用原先的界面界面风格画上,只是背景透明了。
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
展开全部
能执行的代码比可以看的代码理更利于解决问题。
如果代码不需要保密的话:请把代码压成*.rar当附件发在我的论坛( URL见http://hi.baidu.com/%BA%CE%D6%BE%B5%A4/profile )上.压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps. 如果不想注册,可用临时号,帐号和密码都是tes
如果代码不需要保密的话:请把代码压成*.rar当附件发在我的论坛( URL见http://hi.baidu.com/%BA%CE%D6%BE%B5%A4/profile )上.压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps. 如果不想注册,可用临时号,帐号和密码都是tes
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个很难解决.
GROUPBOX又不支持自绘。
你模仿GROUPBOX新建一个窗口类吧。也很简单的
GROUPBOX又不支持自绘。
你模仿GROUPBOX新建一个窗口类吧。也很简单的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的文字下方的横线是指什么?是GroupBox的外框线还是文字的背景色?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询