如何实现窗口透明,但是窗口上的文字不透明 如题:即这个窗口只显示一行文字,其他的什么都不显示,并且显示在其他窗口的最上方,文字的内容随意变动,像是外挂的一个字幕机 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows Messages SysUtils Classes Graphics Controls Forms Dialogs StdCtrls;Const WS_EX_LAYERED = $80000; AC_SRC_OVER = $0; AC_SRC_ALPHA = $1; AC_SRC_NO_PREMULT_ALPHA = $1; AC_SRC_NO_ALPHA = $2; AC_DST_NO_PREMULT_ALPHA = $10; AC_DST_NO_ALPHA = $20; LWA_COLORKEY = $1; LWA_ALPHA = $2; ULW_COLORKEY = $1; ULW_ALPHA = $2; ULW_OPAQUE = $4;//新增加的常量定义type TForm1 = class(TForm) Button1: TButton; ScrollBar1: TScrollBar; procedure ScrollBar1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private hWindows:longint; { Private declarations } public { Public declarations } end;var Form1: TForm1;function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//函数声明implementation{$R *.DFM}procedure TForm1.ScrollBar1Change(Sender: TObject);begin SetWindowLong(Handle GWL_EXSTYLE WS_EX_LAYERED); SetLayeredWindowAttributes(Self.Handle 0 ScrollBar1.Position LWA_ALPHA);end;procedure TForm1.FormCreate(Sender: TObject);begin hWindows:=GetWindowLong(Handle GWL_STYLE); //保存原来的属性 SetWindowLong(Handle GWL_EXSTYLE WS_EX_LAYERED);//设置新的扩展属性 { 第1个参数:窗体句柄 第2个参数:一个RGB值,用来告诉窗体中那种颜色需要透明 第3个参数:透明度(0-255) 第4个参数:指定是通过第2个参数还是第3个参数来设置透明度 } SetLayeredWindowAttributes(Self.Handle 0 100 LWA_ALPHA);//设置透明度end;end. 问题解决了,参考我的博客http://blog.csdn.net/webouse/archive/2007/09/03/1769990.aspx就是自己不能给自己分 如果用GDI实现的话要滚动字幕 如果底是视频的话会有闪烁很多年前偿试过,多少有些闪烁 急,关于DBGrid? 这个对ACCESS查询的语句怎写. 外部程序调用中的问题 关于在dbgrid中填充数据的问题 能不能让ShellExecute()返回值? DELPHI非技术区版主签到贴,请各版主每天签到,连续三天不签到的,向大版主提请免职! 关于一个数据库的问题,想了几天没有结果,烦请高手指点!!! 无法开机,这个是什么原因呢。我觉得可能是BOIS大家看下。内详 大家帮帮我啊。分不够可以加 谁有D3的运行期库:TEE30.dpl,TEEDB30.dpl,TEEUI30.dpl 请专家指点,在DELPHI5中如何自动建成立FRAME?? 数据库表的删除 控制外部程序右键菜单?
interface
uses
Windows Messages SysUtils Classes Graphics Controls Forms Dialogs
StdCtrls;
Const
WS_EX_LAYERED = $80000;
AC_SRC_OVER = $0;
AC_SRC_ALPHA = $1;
AC_SRC_NO_PREMULT_ALPHA = $1;
AC_SRC_NO_ALPHA = $2;
AC_DST_NO_PREMULT_ALPHA = $10;
AC_DST_NO_ALPHA = $20;
LWA_COLORKEY = $1;
LWA_ALPHA = $2;
ULW_COLORKEY = $1;
ULW_ALPHA = $2;
ULW_OPAQUE = $4;
//新增加的常量定义
type
TForm1 = class(TForm)
Button1: TButton;
ScrollBar1: TScrollBar;
procedure ScrollBar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
hWindows:longint;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//函数声明
implementation
{$R *.DFM}
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
SetWindowLong(Handle GWL_EXSTYLE WS_EX_LAYERED);
SetLayeredWindowAttributes(Self.Handle 0 ScrollBar1.Position LWA_ALPHA);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
hWindows:=GetWindowLong(Handle GWL_STYLE); //保存原来的属性
SetWindowLong(Handle GWL_EXSTYLE WS_EX_LAYERED);//设置新的扩展属性
{
第1个参数:窗体句柄
第2个参数:一个RGB值,用来告诉窗体中那种颜色需要透明
第3个参数:透明度(0-255)
第4个参数:指定是通过第2个参数还是第3个参数来设置透明度
}
SetLayeredWindowAttributes(Self.Handle 0 100 LWA_ALPHA);//设置透明度
end;
end.
就是自己不能给自己分
要滚动字幕 如果底是视频的话会有闪烁很多年前偿试过,多少有些闪烁