Metodo IViewObjectEx::QueryHitRect (ocidl.h)
Indica se un punto di un rettangolo si trova all'interno di un determinato aspetto di disegno di un oggetto.
Sintassi
HRESULT QueryHitRect(
[in] DWORD dwAspect,
[in] LPCRECT pRectBounds,
[in] LPCRECT pRectLoc,
[in] LONG lCloseHint,
[out] DWORD *pHitResult
);
Parametri
[in] dwAspect
Aspetto del disegno richiesto.
[in] pRectBounds
Rettangolo di delimitazione dell'oggetto nelle coordinate client della finestra contenitore. Questo rettangolo viene calcolato e passato dal contenitore in modo che l'oggetto possa interpretare in modo significativo la posizione di hit.
[in] pRectLoc
Rettangolo hit test, specificato in unità HIMETRIC , rispetto all'angolo superiore sinistro dell'oggetto.
[in] lCloseHint
Distanza suggerita, in unità HIMETRIC , che il contenitore considera vicino. Questo valore è un hint e gli oggetti possono interpretarlo in modo personalizzato. Gli oggetti possono anche usare questo hint per dedurre approssimativamente la risoluzione dell'output per scegliere l'estensione dell'implementazione dell'hit test.
[out] pHitResult
Puntatore a informazioni restituite sull'hit espresso come valori di enumerazione HITRESULT .
Valore restituito
Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:
Codice restituito | Descrizione |
---|---|
|
Questo metodo non viene implementato per l'aspetto richiesto. Usare invece DVASPECT_CONTENT. |
Commenti
I contenitori possono dover verificare se un oggetto si sovrappone a un determinato aspetto di disegno di un altro oggetto. Possono determinare se gli oggetti si sovrappongono richiedendo un'area o almeno un rettangolo di delimitazione dell'aspetto in questione. Tuttavia, un modo più rapido per eseguire questa operazione consiste nel chiamare IViewObjectEx::QueryHitRect per chiedere all'oggetto se un determinato rettangolo interseca uno dei relativi aspetti di disegno.
Note per gli implementatori
Un oggetto che supporta IViewObjectEx è necessario per implementare questo metodo almeno per l'aspetto DVASPECT_CONTENT. L'oggetto non deve eseguire alcuna altra azione in risposta a questo metodo diverso da per restituire le informazioni; non dovrebbe esserci alcun effetto collaterale. Se si verifica un'ambiguità sul fatto che un punto sia un hit, ad esempio a causa di coordinate che non vengono convertite esattamente, l'oggetto deve restituire HITRESULT_HIT ogni volta che un punto del rettangolo potrebbe essere un hit sull'oggetto. Ciò significa che è consentito richiedere un hit per un punto di cui non viene effettivamente eseguito il rendering, ma non è mai corretto dichiarare un mancato riscontro per qualsiasi punto nell'immagine sottoposta a rendering dell'oggetto.Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ocidl.h |