Este código hace transparentes las zonas del Form sin controles.En el evento OnCreate del Form ponemos:
HRGN frmRgn = CreateRectRgn(0, 0, Width,
Height-ClientHeight-GetSystemMetrics(SM_CYSIZEFRAME));
for (int i=0; i<ControlCount; i++)
{
TRect R = Controls[i]->BoundsRect;
OffsetRect((RECT*)&R, ClientOrigin.x - Left, ClientOrigin.y - Top);
HRGN tmpRgn = CreateRectRgnIndirect((RECT*)&R);
CombineRgn(frmRgn, frmRgn, tmpRgn, RGN_OR);
DeleteObject(tmpRgn);
}
SetWindowRgn(Handle, frmRgn, true);
DeleteObject(frmRgn);
---
PD: probado en BCB1 y BCB5