You can use the API function SetWindowRgn.
Here is an example:
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Sub Form_Load()
Dim rgn As Long
rgn = CreateEllipticRgn(0, 0, ScaleWidth \ Screen.TwipsPerPixelX, ScaleHeight \ Screen.TwipsPerPixelY)
SetWindowRgn hWnd, rgn, False
End Sub
The CreateEllipticRgn is also an API function you can replace it with other rgn functions.
Hope this gave you an idea..
If you want some reference about API functions API Guide is i think one of the best.
You can download API Guide in \\http:/