如何实现Frame在XP经典主题下透明 Delphi的Frame在Vista和Xp的默认主题下是背景透明的,可是切换到经典主题(或Windows2000)后就不透明了,不知道怎样实现透明(Delphi2007&2009均有此问题)谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主好大方啊。const WS_EX_LAYERED = $80000; WS_EX_TRANSPARENT = $20; LWA_ALPHA = $2;procedure TForm1.Button1Click(Sender: TObject);var OldStyle: Integer;begin OldStyle := GetWindowLong(Handle, GWL_EXSTYLE); SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED); SetLayeredWindowAttributes(Handle, 0, 150, LWA_ALPHA); SetWindowLong(Handle, GWL_EXSTYLE, OldStyle Or WS_EX_LAYERED Or WS_EX_TRANSPARENT);end;end. 帮忙推荐个差不多的简单控件 提示变量没有初始化??? 关于ShowWindow的2个问题! WebBrowser 如何增大滚动条的宽度? 如何连接不同系统下的数据库? 怎样快速复制一张paradox表创建到一个access数据库,并增加一个field? 统计局域网里的工作组数目??? 关于des加密的ecb、cbc模式的问题???? 问一个问题,MEMO组件的LINES最大行数如何设置 一个小问题应该怎么实现呢? 好像 N 个月没有来了. 差点忘记了这个帐号了..... 如何实现Frame在XP经典主题下透明
WS_EX_LAYERED = $80000;
WS_EX_TRANSPARENT = $20;
LWA_ALPHA = $2;procedure TForm1.Button1Click(Sender: TObject);
var
OldStyle: Integer;
begin
OldStyle := GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, 0, 150, LWA_ALPHA);
SetWindowLong(Handle, GWL_EXSTYLE, OldStyle Or WS_EX_LAYERED Or WS_EX_TRANSPARENT);
end;
end.