IViewObjectEx::QueryHitRect-Methode (ocidl.h)
Gibt an, ob sich ein Punkt in einem Rechteck innerhalb eines bestimmten Zeichnungsaspekts eines Objekts befindet.
Syntax
HRESULT QueryHitRect(
[in] DWORD dwAspect,
[in] LPCRECT pRectBounds,
[in] LPCRECT pRectLoc,
[in] LONG lCloseHint,
[out] DWORD *pHitResult
);
Parameter
[in] dwAspect
Der angeforderte Zeichnungsaspekt.
[in] pRectBounds
Ein objektgebundenes Rechteck in Clientkoordinaten des enthaltenden Fensters. Dieses Rechteck wird berechnet und vom Container übergeben, sodass das Objekt die Trefferposition sinnvoll interpretieren kann.
[in] pRectLoc
Das Treffertestrechteck, das in HIMETRIC-Einheiten relativ zur linken oberen Ecke des Objekts angegeben ist.
[in] lCloseHint
Die vorgeschlagene Entfernung in HIMETRIC-Einheiten , die der Container als nahe betrachtet. Dieser Wert ist ein Hinweis, der von Objekten auf ihre eigene Weise interpretiert werden kann. Objekte können diesen Hinweis auch verwenden, um die Ausgabeauflösung grob abzuleiten, um die Erweiterung der Treffertestimplementierung auszuwählen.
[out] pHitResult
Ein Zeiger auf zurückgegebene Informationen zum Treffer, der als HITRESULT-Enumerationswerte ausgedrückt wird.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Diese Methode wird nicht für den angeforderten Aspekt implementiert. Verwenden Sie stattdessen DVASPECT_CONTENT. |
Hinweise
Container müssen möglicherweise testen, ob ein Objekt einen bestimmten Zeichnungsaspekt eines anderen Objekts überschneidet. Sie können bestimmen, ob sich die Objekte überschneiden, indem sie eine Region oder mindestens ein umgebendes Rechteck des betreffenden Aspekts anfordern. Eine schnellere Möglichkeit besteht jedoch darin, IViewObjectEx::QueryHitRect aufzurufen, um das Objekt zu fragen, ob ein bestimmtes Rechteck einen seiner Zeichnungsaspekte überschneidet.
Hinweise zu Implementierern
Ein Objekt, das IViewObjectEx unterstützt, ist erforderlich, um diese Methode zumindest für den DVASPECT_CONTENT Aspekt zu implementieren. Das -Objekt sollte als Reaktion auf diese Methode keine andere Aktion ausführen, als die Informationen zurückzugeben. es sollten keine Nebenwirkungen auftreten. Wenn unklar ist, ob ein Punkt ein Treffer ist, sollte das Objekt für instance aufgrund von Koordinaten, die nicht genau konvertiert werden, HITRESULT_HIT zurückgeben, wenn ein Punkt im Rechteck ein Treffer auf das Objekt sein könnte. Das heißt, es ist zulässig, einen Treffer für einen Punkt zu beanspruchen, der nicht tatsächlich gerendert, aber nie richtig ist, um einen Fehler für einen Punkt zu beanspruchen, der sich im gerenderten Bild des Objekts befindet.Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ocidl.h |