Compartilhar via


Tradução de coordenadas de eventos

A especificação 96 para controles requer que as coordenadas passadas para eventos disparados pelo controle deixem de ser HIMETRIC para serem baseadas em pontos. Essa alteração coloca a passagem de coordenadas de eventos de acordo com propriedades e métodos e, portanto, a conversão de coordenadas não é mais responsabilidade do contêiner. Isso levanta certos problemas de compatibilidade quando um controle dispara eventos usando uma base de coordenadas que ele não está esperando, isso deve ser apenas um problema quando um contêiner de controle 96 está hospedando um controle anterior ao 96 mais antigo, da seguinte maneira:

  • Quando um contêiner anterior ao 96 hospeda um controle 96, o controle apresentará as coordenadas do evento como pontos, isso não deve causar problemas ao contêiner, pois o contêiner deve reconhecer o tipo de parâmetro.
  • Quando um contêiner 96 hospeda um controle pré-96, o controle apresentará o contêiner com coordenadas e esperará que o contêiner faça qualquer tradução necessária. No entanto, o contêiner 96 espera que um controle esteja em conformidade com a especificação de 96 controles e apresente suas coordenadas como pontos. O controle usa o método TransformCoords na interface IOleControlSite fornecida pelo contêiner da mesma maneira que faz para propriedades e métodos para conseguir isso.

Como resultado, o usuário de um contêiner 96 que hospeda controles pré-96 precisará estar ciente de que mais tradução de coordenadas pode ser necessária quando os eventos são disparados.