boulacmoi
Messages postés10Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 4 juin 2009
-
14 févr. 2006 à 14:23
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 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
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 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.