这个问题,您一定无法想像有多容易,您可以产生任何形状的Form,但必须借助CreateEllipticRgn及SetWindowRgn二个API,例如:
PrivateDeclareFunctionCreateEllipticRgnLib”gdi32″(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong
PrivateDeclareFunctionSetWindowRgnLib”user32″(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong
PrivateSubForm_Load()
DimlReturnAsLong
Me.Show
lReturn=SetWindowRgn(hWnd,CreateEllipticRgn(10,10,340,150),True)
EndSub
执行结果图片
CreateEllipticRgn之四个参数说明如下:
X1:椭圆中心点之X轴位置,但以Form的实№边界为限。
Y1:椭圆中心点之Y轴位置,但以Form的实№边界为限。
X2:椭圆长边的长度
Y2:椭圆短边的长度的->