Problème de scale

boulacmoi Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 4 juin 2009 - 14 févr. 2006 à 14:23
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 14 févr. 2006 à 18:39
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

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
14 févr. 2006 à 18:39
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
0