Dessin d'un rectangle arrondi dans une picturebox
Bonjour,
J'ai pu trouver dans le forum la dll et l'appel à celle-ci (merci à Babaotes)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Private Declare Function RoundRect Lib "gdi32" _
(ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, _
ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
...
Set q = Picture2
'exemple de position bien sûr les paramètres peuvent changer
q.ScaleMode = vbCentimeters
q.ScaleTop = 100
q.ScaleLeft = 27
q.CurrentX = 120
q.CurrentY = 120
ep = 10
q.ScaleWidth = 150
q.ScaleHeight = 50
lq = q.ScaleWidth: hq = q.ScaleHeight: tcoul = q.Point(2, 2): q.DrawWidth = 2 'grosseur du trait
RoundRect q.hdc, (ep / 2) + 1, (ep / 2) + 1, lq - (ep / 2) - 1, _
hq - (ep / 2) - 1, (lq + hq) / 6, (lq + hq) / 6
... |
J'ai modifié les paramètres pour obtenir le dessin désiré, mais en
changeant les valeurs servant à positionner la figure, rien n'y fait,
celle-ci se positionne toujours dans le coin supérieur gauche de la picturebox.
Comment la positionner à l'endroit désiré?
Merci.
je suis néophyte en graphisme vb
Merci OhMonBato pour les renseignements qui me manquaient.
Citation:
de babaothe
relis ce que je t'ai déjà exposé plus haut :
Cette fonction (RoundRect) calcule en pixels.
Si tu utilises une autre échelle, il te faudra transposer toutes tes valeurs (utilisation de Scalex et Scaley)
Celà ,je sais ce n'est pas le problème, mais quelle est la différence entre pixels et twips car dans la MSDN ( où l'on peut apprendre beaucoup et malheureusement les apprentis vb ne vont pas assez voir) 567 twips=1 cm
mais rien sur les pixels .
Et grand merci pour les remarques et renseignements.
A+