Sie können sich nicht vorstellen, wie einfach es ist, dieses Problem zu lösen. Sie können ein Formular beliebiger Form erstellen, müssen jedoch die beiden APIs CreateEllipticRgn und SetWindowRgn verwenden, zum Beispiel:
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
Bild des Ausführungsergebnisses
Die vier Parameter von CreateEllipticRgn werden wie folgt erklärt:
X1: X-Achsenposition des Mittelpunkts der Ellipse, jedoch begrenzt auf die tatsächliche Grenze der Form.
Y1: Y-Achsenposition des Mittelpunkts der Ellipse, jedoch begrenzt auf die tatsächliche Grenze der Form.
X2: Die Länge der langen Seite der Ellipse
Y2: Die Länge der kurzen Seite der Ellipse ->