Übersetzung von Ereigniskoordinaten

Die 96-Spezifikation für Steuerelemente erfordert, dass Koordinaten, die für ereignisse übergeben werden, die vom Steuerelement ausgelöst werden, sich von HIMETRIC in punktbasiert ändern. Diese Änderung bringt die Ereignisübergabe von Koordinaten in Einklang mit Eigenschaften und Methoden, und daher liegt die Koordinatenübersetzung nicht mehr in der Verantwortung des Containers. Dies führt zu bestimmten Kompatibilitätsproblemen, bei denen ein Steuerelement Ereignisse mit einer nicht erwarteten Koordinatenbasis auslöst. Dies sollte nur ein Problem sein, bei dem ein 96-Steuerelementcontainer wie folgt ein älteres Steuerelement vor 96 hostet:

  • Wenn ein älterer Container vor 96 ein 96-Steuerelement hostet, zeigt das Steuerelement die Ereigniskoordinaten als Punkte an. Dies sollte dem Container keine Probleme verursachen, da der Container den Parametertyp erkennen sollte.
  • Wenn ein 96-Container ein Steuerelement vor 96 hostet, stellt das Steuerelement den Container mit Koordinaten bereit und erwartet, dass der Container eine erforderliche Übersetzung erhält. Der 96-Container erwartet jedoch, dass ein Steuerelement der Spezifikation für 96 Steuerelemente entspricht und seine Koordinaten als Punkte darstellt. Das Steuerelement verwendet die TransformCoords-Methode für die IOleControlSite-Schnittstelle, die vom Container bereitgestellt wird, auf die gleiche Weise wie Eigenschaften und Methoden, um dies zu erreichen.

Daher muss der Benutzer eines 96-Containers, der Steuerelemente vor 96 hostet, beachten, dass eine weitere Übersetzung von Koordinaten erforderlich sein kann, wenn Ereignisse ausgelöst werden.