Udostępnij przez


Translacja współrzędnych zdarzeń

Specyfikacja 96 dla kontrolek wymaga, aby współrzędne przekazywane dla zdarzeń wyzwalanych przez zmianę kontrolki z HIMETRIC na oparte na punktach. Ta zmiana powoduje przekazanie zdarzeń współrzędnych zgodnie z właściwościami i metodami, a tym samym koordynowanie tłumaczenia nie jest już obowiązkiem kontenera. Powoduje to wystąpienie niektórych problemów ze zgodnością, gdy kontrolka uruchamia zdarzenia przy użyciu bazy współrzędnych, której nie oczekuje, powinno to być tylko problem polegający na tym, że kontener kontroli 96 hostuje starszą kontrolkę przed 96 w następujący sposób:

  • Gdy starszy kontener przed 96 hostuje kontrolkę 96, kontrolka będzie przedstawiać współrzędne zdarzenia jako punkty, nie powinno to powodować żadnych problemów kontenera, ponieważ kontener powinien rozpoznać typ parametru.
  • Gdy kontener 96 hostuje kontrolkę przed 96, kontrolka będzie przedstawiać kontener ze współrzędnymi i oczekiwać, że kontener będzie musiał wykonać dowolne tłumaczenie. Jednak kontener 96 będzie oczekiwać, że kontrolka będzie zgodna ze specyfikacją 96 kontrolek i przedstawi współrzędne jako punkty. Kontrolka używa metody TransformCoords w interfejsie IOleControlSite udostępnianym przez kontener w taki sam sposób, jak w przypadku właściwości i metod do osiągnięcia tego celu.

W związku z tym użytkownik 96 kontenerów hostujących kontrolki przed 96 muszą być świadomi, że dalsze tłumaczenie współrzędnych może być konieczne w przypadku wyzwolenia zdarzeń.