這個問題,您一定無法想像有多容易,您可以產生任何形狀的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:橢圓短邊的長度的->