敬业的IT人 >> 编程开发 >> VB >> VisualBasic可以产生四角形以外其他形状的Form

VisualBasic可以产生四角形以外其他形状的Form

敬业的IT人 互联网 佚名 2008-4-17 17:52:33

这个问题,您一定无法想像有多容易,您可以产生任何形状的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:椭圆短边的长度的

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com