Ну, например, вот этот кусочек кода сделает часть окна - "дыркой"...
Код:
var
R1:DWORD;
R2:DWORD;
begin
R1 := CreateRectRgn(0,0,301,283);
R2 := CreateRectRgn(254,215,290,230);
CombineRgn(R1,R1,R2,COMPLEXREGION);
SetWindowRgn(Handle,R1,TRUE);
end;
Тут с цифрами поигать можно. Писал по памяти, мог ошибиться...
Найти место именно определенного цвета можно пытаться через компоненты (если они конечно имееют сво-во color), которыем мы хотим сделать прозрачными...Можно положить на форму какой-нибудь Label и вычислять его Rect, закрашивать цветом и делать полупрозрачность\прозрачность. А вот как реализовать полупрозрачность в определенной области я бы и сам хотел узнать...