Método IViewObjectEx::QueryHitRect (ocidl.h)
Indica se algum ponto em um retângulo está dentro de um determinado aspecto de desenho de um objeto.
Sintaxe
HRESULT QueryHitRect(
[in] DWORD dwAspect,
[in] LPCRECT pRectBounds,
[in] LPCRECT pRectLoc,
[in] LONG lCloseHint,
[out] DWORD *pHitResult
);
Parâmetros
[in] dwAspect
O aspecto de desenho solicitado.
[in] pRectBounds
Um retângulo delimitador de objeto nas coordenadas do cliente da janela que contém. Esse retângulo é calculado e passado pelo contêiner para que o objeto possa interpretar significativamente o local de ocorrência.
[in] pRectLoc
O retângulo de teste de clique, especificado em unidades HIMETRIC , em relação ao canto superior esquerdo do objeto.
[in] lCloseHint
A distância sugerida, em unidades HIMETRIC , que o contêiner considera fechar. Esse valor é uma dica e os objetos podem interpretá-lo de maneira própria. Os objetos também podem usar essa dica para inferir aproximadamente a resolução de saída para escolher a expansão da implementação do teste de ocorrência.
[out] pHitResult
Um ponteiro para retornar informações sobre o hit expresso como valores de enumeração HITRESULT .
Retornar valor
Esse método retorna S_OK com êxito. Outros valores retornados possíveis incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
Esse método não é implementado para o aspecto solicitado. Em vez disso, use DVASPECT_CONTENT. |
Comentários
Os contêineres podem precisar testar se um objeto se sobrepõe a um determinado aspecto de desenho de outro objeto. Eles podem determinar se os objetos se sobrepõem solicitando uma região ou pelo menos um retângulo delimitador do aspecto em questão. No entanto, uma maneira mais rápida de fazer isso é chamar IViewObjectEx::QueryHitRect para perguntar ao objeto se um determinado retângulo cruza um de seus aspectos de desenho.
Anotações aos implementadores
Um objeto que dá suporte a IViewObjectEx é necessário para implementar esse método pelo menos para o aspecto DVASPECT_CONTENT. O objeto não deve tomar nenhuma outra ação em resposta a esse método além de retornar as informações; não deve haver efeitos colaterais. Se houver alguma ambiguidade sobre se um ponto é um hit, por exemplo, devido a coordenadas não convertendo exatamente, o objeto deve retornar HITRESULT_HIT sempre que qualquer ponto no retângulo pode ser um hit no objeto. Ou seja, é permitido reivindicar um hit para um ponto que não é realmente renderizado, mas nunca correto para reivindicar uma falha para qualquer ponto que esteja na imagem renderizada do objeto.Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ocidl.h |