Для установки прозрачности можно делать так:
Код:
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