Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

прозрачность в win2k 


Vladimir Bolotin   (2002-01-10 20:33) [0]

Где можно прочитать про SetLayeredWindowAttributes? В старых
win32 API Reference и в 6м MSDNe эта АПИ-функция еще не описана.. :(



Макс Черных   (2002-01-10 21:12) [1]

Вроде бы http://msdn.microsoft.com еще не закрыли :)



Vladimir Bolotin   (2002-01-11 00:38) [2]

Спасибо большое!



Andrew!   (2002-02-20 10:58) [3]

А примерчик кто-нибудь может скинуть, а то у меня работа с этой функцией не получается, она просто игнорируется.



[NIKEL]   (2002-02-20 11:07) [4]

В Windows2000 есть для этого ф-я SetLayeredWindowAttributes, вот пример её использования:

unit Win2k;
interface
uses Graphics, Windows;

function SetLayeredWindowAttributes(
hwnd : HWND; // handle to the layered window
crKey : TColor; // specifies the color key
bAlpha : byte; // value for the blend function
dwFlags : DWORD // action
): BOOL; stdcall;

function SetLayeredWindowAttributes; external "user32.dll";
implementation

end.

program WinLayer;

uses
Windows, SysUtils,
Win2k in "Win2k.pas";

const
WS_EX_LAYERED= $80000;
LWA_COLORKEY = 1;
LWA_ALPHA = 2;

var
Hndl : THandle;
Transp : Byte;

begin
Writeln("Windows2000 Layer <- build by AK ->");
Writeln(" Usage: WINLAYER.EXE [window name] [Transp (0-255)]");
Writeln(" Example: WINLAYER "Calculator" 200");
Writeln;

if ParamCount <> 2 then exit;

Hndl := FindWindow(nil, PChar(ParamStr(1)));
Transp := StrToIntDef(ParamStr(2), 128);

if SetWindowLong(Hndl, GWL_EXSTYLE, GetWindowLong(Hndl, GWL_EXSTYLE) or WS_EX_LAYERED) = 0 then
Writeln("Error !");

if not SetLayeredWindowAttributes(Hndl, 0, Transp, LWA_ALPHA) then
// ^^^ степень прозрачности
// 0 - полная прозрачность
// 255 - полная непрозрачность
Writeln("Error !");
end.



VuDZ   (2002-02-20 12:46) [5]

надо делать примерно так:

LONG l = GetWindowLong(hwnd, GWL_EXSTYLE);
l = l | WS_EX_LAYERED; // логиеское ИЛИ
SetWindowLong(hwnd, GWL_EXSTYLE, l);
SetLayeredWindowAttributes(hwnd, 0, it->second, LWA_ALPHA);



Olgerd   (2002-02-20 17:16) [6]

Посмотри прогу Window Manipulator.
http://freeware.ru/program.pl?prog_id=3755
Могу исхи подкинуть.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.044 c
1-80888           kaif                  2002-04-14 15:08  2002.04.25  
TabSet и клавиатура


14-81059          limon                 2002-03-20 10:59  2002.04.25  
Юбилей: компьютерной мышке 50 лет


3-80768           kserg@ukr.net         2002-04-04 13:12  2002.04.25  
DbGridEh - не могу убить маркер сортировки


14-81033          VuDZ                  2002-03-18 15:43  2002.04.25  
нейросети в экономике


1-80904           Back                  2002-04-13 03:56  2002.04.25  
MDI