Problème de scale

Signaler
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
4 juin 2009
-
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
-
Bonjours,

J'ai un petit problème avec tout ce qui est scale et width, height etc....

J'ai créer un nouveau control utilisateur, a qui je demande de calculer lui même sa nouvelle échelle en fonction de sa taille

Pour cela je fait UserControl.Scale (0, UserControl.Height)-(UserControl.Width, 0) et j'ai placé cela dans l'évenement Resize de mon control, donc normalement, en faisant cela, je place mon origine (0,0) en bas a gauche, et mon UserControl.scalewidth=UserControl.width, et UserControl.scaleheight=UserControl.height

Mais un problème survient, et j'ai pu en déterminer la cause, mais je ne comprend pas pourquoi
Quand, dans mon programme, pendant son execution, je donne un width disons de 2000 a mon objet, si je regarde dans mon control utilisateur en y plaçant un point d'arret, le usercontrol.width est différent de 2000, alors que si je regarde dans mon programme, il fait bien 2000

Je ne comprends pas comment cela est possible, et ça m'empeche de définir l'échelle que je désire

1 réponse

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
peut-être un problème d'unité

ScaleX(X, vbTwips, vbContainerSize)

je cite:
The ScaleX and ScaleY
methods support an additional enumerated constant, vbContainerSize, that
you should use when converting a size value (as opposed to a coordinate value).
The vbContainerPosition and vbContainerSize constants deliver different results
only when the container uses a custom ScaleMode. The ActiveX Control Interface
Wizard doesn't address these subtleties, and you must manually edit the code
that it produces.



Daniel