Как сделать форму полупрозрачной?
Очень много материалов о том как сделать форму прозрачной? А как сделать форму полупрозрачной и регулировать прозрачность во время выполнения?
2)Наложить эффект затемнения.
3)Отобразить полученое изображение на окно.
Могу помочь с 1 и 3.
Со 2-ым к сожалению нет. Если узанаешь скажи мне как. Но должны бать библиотеки, которые умееют такие штуки делать.
On 2001-10-04 12:38, Mr. API wrote:
1)Необходимо взять изображение которое нахожится за окном.
2)Наложить эффект затемнения.
3)Отобразить полученое изображение на окно.
Могу помочь с 1 и 3.
Со 2-ым к сожалению нет. Если узанаешь скажи мне как. Но должны бать библиотеки, которые умееют такие штуки делать.
</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE>
Помоги
Помоги
</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE>
Тебе только на WinAPI или можно с использованием объектов Delphi?
Лучше мыль мне так лучше получится.
P. S.
По некоторым обстоятельствам моя производительность (за компьютером) снизилась в 1.7 раз (((((((
Так что, лучше пиши.
http//www.delphikingdom.com/treasury/samples.htm#link10
Только работать с этим окном практически невозможно.
Только работать с этим окном практически невозможно.
все просто летает
Цитата:
On 2001-10-04 0628, Anonymous wrote
Очень много материалов о том как сделать форму прозрачной? А как сделать форму полупрозрачной и регулировать прозрачность во время выполнения?
Существует winapi 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.
З.Ы.
содрано с delphi.proext.com, сам не пробовал.
[ Это Сообщение было отредактировано x77 в 2001-11-26 0002 ]
и ещё одна любопытная ссылочка, реализация полупрозрачности в виде компонента