社区
C++ Builder
帖子详情
怎样实现只有某个控件半透明(不是整个窗体半透明)??
紫色狂澜
2002-05-23 11:22:23
我只想要某一个控件半透明或者窗体的某一块半透明,请问怎样才能实现呢?
先谢了!!
...全文
239
10
打赏
收藏
怎样实现只有某个控件半透明(不是整个窗体半透明)??
我只想要某一个控件半透明或者窗体的某一块半透明,请问怎样才能实现呢? 先谢了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jinglihui
2002-06-02
打赏
举报
回复
Windows2000/XP里的user32.dll里提供了一个方法:SetLayeredWindowAttributes
你可以用LoadLibrary来加载user32.dll
typedef BOOL (WINAPI *TRANSPARENTFORM)(HWND,COLORREF,BYTE,DWORD);
TRANSPARENTFORM TransparentForm=NULL;
SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE)^0x80000);
HINSTANCE hInst=LoadLibrary("User32.dll");
if(hInst)
(TRANSPARENTFORM)GetProcAddress(hInst,"SetLayeredWindowAttributes");
TransparentForm(Handle,0,alpha,2);
这里的Handle是一个句柄,我只试过把它窗口的句柄传给它,改变alpha的值(0——255)可以实现从完全透明到不透明的窗口,你可以把你想要透明的控件的句柄传给它,效果一试就知道了!
再加上重载CreateParams函数,可以轻松实现类似FlashGet的那个小窗口!
Jinglihui
2002-06-02
打赏
举报
回复
Windows2000/XP里的user32.dll里提供了一个方法:SetLayeredWindowAttributes
你可以用LoadLibrary来加载user32.dll
typedef BOOL (WINAPI *TRANSPARENTFORM)(HWND,COLORREF,BYTE,DWORD);
TRANSPARENTFORM TransparentForm=NULL;
SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE)^0x80000);
HINSTANCE hInst=LoadLibrary("User32.dll");
if(hInst)
(TRANSPARENTFORM)GetProcAddress(hInst,"SetLayeredWindowAttributes");
TransparentForm(Handle,0,alpha,2);
这里的Handle是一个句柄,我只试过把它窗口的句柄传给它,改变alpha的值(0——255)可以实现从完全透明到不透明的窗口,你可以把你想要透明的控件的句柄传给它,效果一试就知道了!
再加上重载CreateParams函数,可以轻松实现类似FlashGet的那个小窗口!
tiger_qi
2002-06-02
打赏
举报
回复
晚上给你回答把,现在球赛开始了:)
这个问题挺麻烦的:)
dealxl
2002-05-28
打赏
举报
回复
觉得好象也应该是“Alpha”类似的属性。因为以前玩着做Flash、PhotoShop时就常用这个属性 :)
magicsnake
2002-05-27
打赏
举报
回复
来取经:)
mygodness
2002-05-24
打赏
举报
回复
某一控件可以用transparent设为true
yufei_yf
2002-05-24
打赏
举报
回复
控件其实也是一个窗体,通过控件的句柄就可以了。
windindance
2002-05-24
打赏
举报
回复
you can use TShape
Shape->Pen->Mode = pmMask;
Shape->Brush->Color = clRed;
Shape->Brush->Style = clSolid;
紫色狂澜
2002-05-24
打赏
举报
回复
我只知道在Win2000/XP定义窗口的Alpha值是让整个窗体透明,难道可以实现某个区域半透明吗?
还有就是很多控件根本就没有transparent这个属性,就算有也是全透明的,要怎样才能让它半透明呢?
fsheron
2002-05-23
打赏
举报
回复
如果你使用Win2000/XP可以定义窗口的Alpha值,如果是Win95/98就要自己画窗口内容。
MFC半
透明
窗
体
不
透明
控
件
MFC半
透明
窗
体
不
透明
控
件 png背景 GDI+ 不规则
窗
体
C#
实现
窗
体
透明
度可调同时
控
件不
透明
这里要感谢CSND的两位大大提供的部分代码: ...我只是将他们的功能优化了下,
实现
思路依然是双
窗
体
,不过实际效果根本感觉不出来是两个
窗
体
...添加了新功能:
控
件的
透明
度可调,背景色设置,双
窗
体
同时最前最后显示的一致性
Winform
窗
体
半
透明
,
控
件不
透明
,皮肤美化效果
Winform
窗
体
半
透明
,
控
件不
透明
,及
窗
体
美化效果
WPF
实现
窗
体
透明
、半
透明
、自定义形状
WPF
实现
窗
体
透明
、半
透明
、自定义形状,简单的
实现
。
窗
体
半
透明
控
件不
透明
窗
体
半
透明
控
件不
透明
0分贡献
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章