Vous ne pouvez pas imaginer à quel point ce problème est simple. Vous pouvez créer un formulaire de n'importe quelle forme, mais vous devez utiliser les deux API CreateEllipticRgn et SetWindowRgn, par exemple :
PRivateDeclareFunctionCreateEllipticRgnLib"gdi32"(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong
PrivateDeclareFunctionSetWindowRgnLib"user32"(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong
PrivateSubForm_Load()
DimlReturnAsLong
Moi.Afficher
lReturn=SetWindowRgn(hWnd,CreateEllipticRgn(10,10,340,150),True)
FinSub
Image du résultat de l'exécution
Les quatre paramètres de CreateEllipticRgn sont expliqués comme suit :
X1 : Position sur l'axe X du point central de l'ellipse, mais limitée à la limite réelle de la Forme.
Y1 : Position sur l'axe Y du point central de l'ellipse, mais limitée à la limite réelle de la Forme.
X2 : La longueur du côté long de l'ellipse
Y2 : La longueur du petit côté de l'ellipse ->