事件坐标转换

控件的 96 规范要求控制从 HIMETRIC 更改为基于点的事件传递的坐标。 此更改使坐标传递与属性和方法保持一致,因此坐标转换不再是容器的责任。 这引发了某些兼容性问题,即控件使用不需要的坐标基触发事件,这应只是 96 控制容器承载较旧的 96 控件的问题,如下所示:

  • 当较旧的 96 容器承载 96 控件时,该控件会将事件坐标显示为点,这不应导致容器出现任何问题,因为容器应识别参数类型。
  • 当 96 容器承载 96 之前的控件时,该控件将显示具有坐标的容器,并期望容器进行任何必要的转换。 但是,96 容器预期控件符合 96 控件规范,并将其坐标显示为点。 该控件在容器提供的 IOleControlSite 接口上使用 TransformCoords 方法,就像容器为属性和方法实现此目的一样。

因此,托管 96 个预 96 控件的 96 个容器的用户需要注意,触发事件时可能需要进一步转换坐标。