Partager via


Traduction de coordonnées d’événement

La spécification 96 pour les contrôles exige que les coordonnées passées pour les événements déclenchés par le contrôle passent d’HIMETRIC à d’être basées sur des points. Cette modification permet d’aligner le passage d’événement des coordonnées avec les propriétés et les méthodes, et par conséquent, la traduction de coordonnées n’est plus la responsabilité du conteneur. Cela soulève certains problèmes de compatibilité lorsqu’un contrôle déclenche des événements à l’aide d’une base de coordonnées qu’il n’attend pas. Il ne doit s’agir que d’un problème où un conteneur de contrôle 96 héberge un contrôle antérieur à 96, comme suit :

  • Lorsqu’un conteneur antérieur à 96 héberge un contrôle 96, le contrôle présente les coordonnées d’événement en tant que points, cela ne doit pas causer de problèmes au conteneur, car le conteneur doit reconnaître le type de paramètre.
  • Lorsqu’un conteneur 96 héberge un contrôle antérieur à 96, le contrôle présente le conteneur avec des coordonnées et attend le conteneur à toute traduction nécessaire. Toutefois, le conteneur 96 s’attend à ce qu’un contrôle soit conforme à la spécification des contrôles 96 et présente ses coordonnées sous forme de points. Le contrôle utilise la méthode TransformCoords sur l’interface IOleControlSite fournie par le conteneur de la même manière qu’il le fait pour les propriétés et les méthodes pour y parvenir.

Par conséquent, l’utilisateur d’un conteneur 96 hébergeant des contrôles antérieurs à 96 devra savoir qu’une traduction supplémentaire des coordonnées peut être nécessaire lorsque des événements sont déclenchés.