社区
控件
帖子详情
如何製作透明控件?
vansoft
2006-02-14 11:04:00
現有一Frame控件源碼,
有四種風格,不是完整的四邊形,
現在需要將該控件的背景變為透明。
請別提示把控件的BackStyle设置为“0 - 透明”,
因為設為0後,所有的繪制都無效,根本看不到畫出來的框架。
...全文
165
7
打赏
收藏
如何製作透明控件?
現有一Frame控件源碼, 有四種風格,不是完整的四邊形, 現在需要將該控件的背景變為透明。 請別提示把控件的BackStyle设置为“0 - 透明”, 因為設為0後,所有的繪制都無效,根本看不到畫出來的框架。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
韧恒
2006-02-16
打赏
举报
回复
//用rgn可以做到透明,但由於是創建了一不規則的區域(窗體),
在幾種風格的切換中,永遠是最小的那個風格的區域。
現在想在切換前先恢復區域,再創建,再繪製。
試試先。
个人认为,理论上可行,但如果frame中的控件形状也是不规则的,可能会麻烦些
vansoft
2006-02-15
打赏
举报
回复
用rgn可以做到透明,但由於是創建了一不規則的區域(窗體),
在幾種風格的切換中,永遠是最小的那個風格的區域。
現在想在切換前先恢復區域,再創建,再繪製。
試試先。
rainstormmaster
2006-02-14
打赏
举报
回复
另外一个思路是根据frame内各个控件的位置,组合出一个rgn,然后用setwindowrgn设置frame控件的rgn,不过,这不是真正意思上的透明
vansoft
2006-02-14
打赏
举报
回复
沒用的。
迈克揉索芙特
2006-02-14
打赏
举报
回复
BackStyle = 0
把绘制过程也写在控件里,但是在父容器上进行绘制。
rainstormmaster
2006-02-14
打赏
举报
回复
//因為設為0後,所有的繪制都無效,根本看不到畫出來的框架
其实看不到框架可能还是次要,重要的是能不能看到容器内的控件
zyl910
2006-02-14
打赏
举报
回复
一、
用SetWindowRgn设置窗口的显示区域
二、
为窗口加上WS_EX_TRANSPARENT风格
并用子类拦截掉WM_PAINT、WM_ERASEBKGND消息,不让VB自动画背景
将图像画好在一个32位DIBSection中,在处理WM_PAINT消息时将该DIBSection用AlphaBlend以AC_SRC_OVER方式画到屏幕上
这样可以实现Alpha透明。唯一的缺点就是受VB刷新机制的影响,闪烁比较明显
半
透明
窗口中显示标准
控件
(
控件
与文字不
透明
)的实现方案
和大家分享一下在半
透明
窗口中显示标准
控件
的实现方案。通过层叠窗口可以简单实现半
透明
与不规则形状窗口的效果,但在其上显示标准
控件
(
控件
与文字不
透明
)却是件比较有挑战的事情,这里会给出一个可行的解决方案。同时实现了一些可重用的窗口类,有相关需求时可以进行引用。 请参照博客文章:http://blog.csdn.net/harbinzju/article/details/7907127
WINCE和Windows Mobile上的
透明
控件
,图片按钮,图片标签,支持窗体背景图
WINCE和Windows Mobile上的
透明
控件
,包括支持
透明
图片的按钮,
透明
文本标签以及
透明
图片标签,Panel
透明
容器等
控件
可以设定正常显示图片,点击切换图片,前景、背景色。按钮上的文本可以设定是显示在按钮内部还是外部。可以自动拉伸图片以及调整图片显示位置。 使用方式可以查看附录的Demo
自定义图谱
控件
使用范例
本例实现了一个自定义的图谱
控件
,可以绘制连续波形,有坐标系,功能较为简单
winform实现360、QQ窗体与
控件
利用winform的gdi+
控件
实现的QQ窗体与
控件
透明
按钮Radio和CheckBox
这个程序提供了两种实现
透明
的方法: 1,如果对话框背景色是纯色,那么直接返回NULL画刷即可。 2,如果背景是图片,那么在OnCtlColor中需要先绘制父窗口背景。
控件
1,453
社区成员
41,354
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章