Método IViewObjectEx::QueryHitRect (ocidl.h)
Indica si algún punto de un rectángulo está dentro de un aspecto de dibujo determinado de un objeto.
Sintaxis
HRESULT QueryHitRect(
[in] DWORD dwAspect,
[in] LPCRECT pRectBounds,
[in] LPCRECT pRectLoc,
[in] LONG lCloseHint,
[out] DWORD *pHitResult
);
Parámetros
[in] dwAspect
Aspecto del dibujo solicitado.
[in] pRectBounds
Rectángulo delimitador de objetos en coordenadas de cliente de la ventana contenedora. El contenedor calcula y pasa este rectángulo para que el objeto pueda interpretar significativamente la ubicación de aciertos.
[in] pRectLoc
Rectángulo de prueba de posicionamiento, especificado en unidades HIMETRIC , en relación con la esquina superior izquierda del objeto.
[in] lCloseHint
Distancia sugerida, en unidades HIMETRIC , que el contenedor considera cerrar. Este valor es una sugerencia y los objetos pueden interpretarlo de forma propia. Los objetos también pueden usar esta sugerencia para deducir aproximadamente la resolución de salida para elegir la ampliación de la implementación de la prueba de posicionamiento.
[out] pHitResult
Puntero para devolver información sobre el acierto expresado como los valores de enumeración HITRESULT .
Valor devuelto
Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.
Código devuelto | Descripción |
---|---|
|
Este método no se implementa para el aspecto solicitado. Use DVASPECT_CONTENT en su lugar. |
Comentarios
Es posible que los contenedores necesiten probar si un objeto se superpone a un aspecto de dibujo determinado de otro objeto. Pueden determinar si los objetos se superponen solicitando una región o al menos un rectángulo delimitador del aspecto en cuestión. Sin embargo, una manera más rápida de hacerlo es llamar a IViewObjectEx::QueryHitRect para preguntar al objeto si un rectángulo determinado interseca uno de sus aspectos de dibujo.
Notas para los implementadores
Se requiere un objeto compatible con IViewObjectEx para implementar este método al menos para el aspecto DVASPECT_CONTENT. El objeto no debe realizar ninguna otra acción en respuesta a este método que no sea para devolver la información; no debe haber efectos secundarios. Si hay alguna ambigüedad sobre si un punto es un acierto, por ejemplo, debido a que las coordenadas no se convierten exactamente, el objeto debe devolver HITRESULT_HIT cada vez que cualquier punto del rectángulo pueda ser un golpe en el objeto. Es decir, se permite reclamar un acierto para un punto que no se representa realmente, pero nunca corregir para reclamar un error para cualquier punto que esté en la imagen representada del objeto.Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ocidl.h |