Показать сообщение отдельно
  #2  
Старый 27.01.2008, 15:12
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
Сообщение

Для установки прозрачности можно делать так:
Код:
var
  AStyle: Integer;
begin
 AStyle := GetWindowLong(Handle, GWL_EXSTYLE);
 if (AStyle and WS_EX_LAYERED) = 0 then
 SetWindowLong(Handle, GWL_EXSTYLE, AStyle or WS_EX_LAYERED);
 SetLayeredWindowAttributes(Handle, 0, 125, LWA_ALPHA);
где Handle - идентификатор нужного окна
125 - степень прозрачности в интервале 0..255

Чтобы убрать прозрачность:
Код:
var
  AStyle: Integer;
begin
 AStyle := GetWindowLong(Handle, GWL_EXSTYLE);
 if (AStyle and WS_EX_LAYERED) <> 0 then
 SetWindowLong(Handle, GWL_EXSTYLE, AStyle xor WS_EX_LAYERED);

Это применимо к любому окну - форме, панели и т.п

В твоем случае, можно динамически создавать панель на рабочем столе
и делать её прозрачной.
Про создание, здесь: http://www.delphisources.ru/forum/sh...24&postcount=6
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием