hola o como dice Coco o sino con Regiones
Option Explicit
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Const RGN_XOR = 3
Private Sub Form_Resize()
Dim hRgn1 As Long, hRgn2 As Long
Dim Rec As RECT
Dim lW As Long, lH As Long
GetWindowRect Me.hwnd, Rec
lW = Rec.Right - Rec.Left
lH = Rec.Bottom - Rec.Top
hRgn1 = CreateRectRgn(0, 0, lW, lH)
hRgn2 = CreateRectRgn(lW / 3, lH / 3, lW / 1.5, lH / 1.5)
Call CombineRgn(hRgn1, hRgn2, hRgn1, RGN_XOR)
SetWindowRgn Me.hwnd, hRgn1, True
DeleteObject hRgn2
End Sub
Saludos.