社区
VCL组件使用和开发
帖子详情
哪位实现过控件背景透明设计?
牧牛童子
2011-04-28 09:56:27
窗体背景为一张图片,上面放几个控件,如:Lable,button,dbgird.都将挡住图片,想实现控件背景透明,只显示控件文字,如何实现?
...全文
217
7
打赏
收藏
哪位实现过控件背景透明设计?
窗体背景为一张图片,上面放几个控件,如:Lable,button,dbgird.都将挡住图片,想实现控件背景透明,只显示控件文字,如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
truelove7283159
2011-05-01
打赏
举报
回复
我知道好象两个方法把
1 利用阿尔法通道a
2 好象是位图异或
如果利用已经好的函数
你可以看OPENGL 的函数c++builder类库中有,好象BL开头的,年代久忘记了, 最近发现不会写C程序了.
牧牛童子
2011-05-01
打赏
举报
回复
谢谢楼上朋友。
tbwork
2011-05-01
打赏
举报
回复
最复杂的情况是背景不是单色,而是一副图案。首先把这个背景图保存在内存中,比如叫BackBmp
1.如果仅仅是显示透明背景文本的话可以这样来做:
SetBkMode(Canvas->Handle,TRANSPARENT);
TextOut(Canvas->Handle,Memo1->Left,Memo1->Top-i*Memo1->Font->Height,text.c_str(),text.Length());
2.要做透明按钮的话,可以用Image控件代替。Image控件比较灵活。可以做成任何你想要的样子。
3.最难的是对于任何控件。这里讲一下思路:
有些控件是不具有显示设备(Canvas)的(如panel等),所以可以为它定义一个canvas(画布),然后把BackBmp的该控件区域的图案拷贝到其中。然后在该画布上写上按钮文字。
还有一种比较简单,对于比较简单的控件,如按钮,可以这样:
用窗口点击判断,来模拟按钮:
1)定义ButtonRect,为按钮显示区域
2)首先按照1中描述的一样,在窗体上的ButtonRect区域写上按钮文字。
3)在FormClick事件中加以判断:如果是单击到该ButtonRect中,那么触发按钮事件。
牧牛童子
2011-04-30
打赏
举报
回复
谢谢楼上的朋友。本人非专业程序,搞不定继承。有listview透明示例也行。
dfasri
2011-04-29
打赏
举报
回复
Label 是有 Transparent 选项可以直接选的, 而Button是没有透明效果的, 但可以用SpeedButton来代表就会有透明效果了, dbgrid要透明效果也可以, 但你必须继承DrawCell的几个函数, 把当前要画的格变换成父窗体的坐标, 然后用这个坐标在源背景图上面进行截出相应位置和大小的剪切图, 把剪切图画入格, 再把用DrawText自己把字画上去. 坐标的变换不会很复杂, 上网查查, 有半年没碰DELPHI了, 不记得了
我不懂电脑
2011-04-28
打赏
举报
回复
设置窗体透明色,控件背景颜色和窗体透明色一样,然后让窗体透明就可以了。
牧牛童子
2011-04-28
打赏
举报
回复
谢谢楼上回复,窗体透明我试过,不是我想要的效果。
窗体不透明,只要控件背景透明。
MoreWindows界面编程第五篇 静态
控件
背景
透明
化
总之,静态
控件
背景
透明
化是Windows界面
设计
中提高用户体验的一个重要技巧。无论是位图刷还是自绘,都是Windows API提供的重要工具,它们允许开发者创造出更加生动、有吸引力的用户界面。通过不断学习和实践,你将...
透明
按钮Radio和CheckBox
总的来说,
实现
透明
的Radio和CheckBox需要理解WM_CTLCOLOR消息、
控件
的
背景
模式设置以及可能的位图操作。通过这些技术,我们可以创建出符合
设计
需求的美观且具有
透明
效果的用户界面。在实际项目中,还可以结合资源...
winform
实现
360、QQ窗体与
控件
4. **仿360、QQ风格**:这些软件的窗口和
控件
往往有独特的视觉效果,如圆角、半
透明
背景
、动画过渡等。通过GDI+,开发者可以精确控制像素级别的绘图,从而
实现
类似的视觉效果。例如,可以使用`Graphics.DrawPath()`...
MFC界面美化
在本文中,我们将深入探讨如何
实现
MFC(Microsoft Foundation Classes)界面美化,特别是涉及的几个关键概念:MFC皮肤、半
透明
窗口以及
控件
自绘。MFC是微软提供的一套C++类库,用于构建Windows应用程序,它使得...
winform(c#)最全60种非常漂亮界面样式\皮肤(经典)
在.NET Framework中,Windows Forms(WinForm)是用于构建桌面应用程序的一个强大工具,它提供了丰富的
控件
库和
设计
环境,让开发者能够创建出功能齐全、交互友好的用户界面。本资源包聚焦于C#语言下WinForm应用的...
VCL组件使用和开发
604
社区成员
13,457
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章