如题。
我在代码里可以用SetLayeredWindowAttributes设置窗口的透明度,但是想用GetLayeredWindowAttributes来取窗口的透明度时,提示我这个函数没定义。
需要引入什么单元吗?
我就是想先取出一个目标窗口的透明度,然后设置一下透明度比如半透明或者全透明,然后再恢复该窗口原来的透明度。
我在代码里可以用SetLayeredWindowAttributes设置窗口的透明度,但是想用GetLayeredWindowAttributes来取窗口的透明度时,提示我这个函数没定义。
需要引入什么单元吗?
我就是想先取出一个目标窗口的透明度,然后设置一下透明度比如半透明或者全透明,然后再恢复该窗口原来的透明度。
解决方案 »
- [急]关于将TIcon存入数据库后失真的问题!
- 有2个List。分别是字段名和想对应的值。怎么用循环存入数据库啊
- 我在中文下编的程序怎么让他在日文的操作系统下面也显示中文????有办法吗?就像VC编的那样.
- 有人用过ActiveX控件TPicShowEx吗?
- 如何用构造指向class对象的指针?
- MIDAS中报不支持CreateRemote()方法
- 奇怪的生成可执行文件(.EXE)的问题!
- Come on!!! DAXIA! 实在很急关于本地表的问题.
- RMB求购完美世界国内版 DELPHI 外挂源代码
- 向导一样的程序用什么控件实现比较简单些呀?
- 急!!!读取数据库问题
- 欲哭无泪:多年来的资料全部被格了
targetStyle : longint;
originStyle:=getWindowLong(Hwnd, GWL_EXSTYLE);
targetStyle := originStyle Or $80000;
SetWindowLong (Hwnd, GWL_EXSTYLE, targetStyle);
//透明度在0~255之间
SetLayeredWindowAttributes(Hwnd, 0, 180, 2);
sleep(5000);
//恢复
SetWindowLong (Hwnd, GWL_EXSTYLE, originStyle); 以上代码实现了透明度和恢复。
但还是不知道怎么取原来的透明度,originStyle肯定不是,因为他不是0-255的一个值。
另外还不知道到底Delphi里有没有GetLayeredWindowAttributes函数,以及怎么引入
var Alpha: Byte; var Flags: LongInt): BOOL; stdcall; external 'user32.dll';procedure TForm1.Button1Click(Sender: TObject);
var
c: COLORREF;
a: Byte;
f: LongInt;
begin
GetLayeredWindowAttributes(Handle, c, a, f);
end;
AlphaBlend := True;
谢谢大家的回答。