1) Припашем виндовые WinApi ф-ции
Extern "Win32"
Function SetWindowRgn(hWnd, hRgn, bRedraw)
Function CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect)
Function CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2, fnCombineMode)
End Extern
2) Эта фция принимает на вход
hWnd - хендл окна
Skin - пиксельная карта
Function SkinWindowII(hWnd:Int , Skin:TPixmap)
Const NOTHING=-1
Local RectRgn = CreateRectRgn(0, 0, 0, 0)
Local X% , Y% , StartX% , argb:Long
For Y=0 Until Skin.Height
For X=0 Until Skin.Width
argb = ReadPixel(skin, X, Y)
If (argb <> NOTHING)
If StartX = -1
StartX = X
EndIf
Else
If StartX > -1
Local MaskLine
MaskLine = CreateRectRgn( StartX , Y , X , Y+1 )
CombineRgn ( RectRgn , RectRgn, MaskLine , 2 )
DeleteObject MaskLine
StartX = -1
EndIf
EndIf
Next
If StartX > -1
Local MaskLine
MaskLine = CreateRectRgn( StartX , Y, X , Y+1 )
CombineRgn ( RectRgn , RectRgn , MaskLine, 2 )
DeleteObject MaskLine
StartX = -1
EndIf
Next
SetWindowRgn ( hWnd , RectRgn , True)
End Function
Думаю хендл окна ты получить сможешь сам.