Bagikan melalui


Metode IViewObjectEx::QueryHitRect (ocidl.h)

Menunjukkan apakah ada titik dalam persegi panjang dalam aspek gambar tertentu dari objek.

Sintaks

HRESULT QueryHitRect(
  [in]  DWORD   dwAspect,
  [in]  LPCRECT pRectBounds,
  [in]  LPCRECT pRectLoc,
  [in]  LONG    lCloseHint,
  [out] DWORD   *pHitResult
);

Parameter

[in] dwAspect

Aspek gambar yang diminta.

[in] pRectBounds

Persegi panjang pembatas objek dalam koordinat klien dari jendela yang berisi. Persegi panjang ini dihitung dan diteruskan oleh kontainer sehingga objek dapat secara bermakna menafsirkan lokasi hit.

[in] pRectLoc

Persegi panjang uji hit, ditentukan dalam unit HIMETRIC , relatif terhadap sudut kiri atas objek.

[in] lCloseHint

Jarak yang disarankan, dalam unit HIMETRIC , yang dianggap dekat oleh kontainer. Nilai ini adalah petunjuk, dan objek dapat menafsirkannya dengan cara mereka sendiri. Objek juga dapat menggunakan petunjuk ini untuk menyimpulkan resolusi output secara kasar untuk memilih ekspansi implementasi uji hit.

[out] pHitResult

Pointer untuk mengembalikan informasi tentang hit yang dinyatakan sebagai nilai enumerasi HITRESULT .

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Kemungkinan nilai pengembalian lainnya termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_FAIL
Metode ini tidak diimplementasikan untuk aspek yang diminta. Gunakan DVASPECT_CONTENT sebagai gantinya.

Keterangan

Kontainer mungkin perlu menguji apakah objek tumpang tindih dengan aspek gambar tertentu dari objek lain. Mereka dapat menentukan apakah objek tumpang tindih dengan meminta wilayah atau setidaknya persegi panjang batas dari aspek yang dimaksud. Namun, cara yang lebih cepat untuk melakukan ini adalah dengan memanggil IViewObjectEx::QueryHitRect untuk menanyakan objek apakah persegi panjang tertentu berpotongan dengan salah satu aspek gambarnya.

Catatan Tidak seperti IViewObjectEx::QueryHitPoint, metode ini tidak mengembalikan HITRESULT_TRANSPARENT atau HITRESULT_CLOSE. Ini benar-benar mengenai atau meleset, mengembalikan HITRESULT_OUTSIDE jika tidak ada titik dalam persegi panjang yang terkena dan HITRESULT_HIT jika setidaknya satu titik dalam persegi panjang adalah hit.
 

Catatan untuk Pelaksana

Objek yang mendukung IViewObjectEx diperlukan untuk menerapkan metode ini setidaknya untuk aspek DVASPECT_CONTENT. Objek tidak boleh mengambil tindakan lain sebagai respons terhadap metode ini selain mengembalikan informasi; seharusnya tidak ada efek samping. Jika ada ambiguitas tentang apakah titik adalah hit, misalnya karena koordinat yang tidak mengonversi dengan tepat, objek harus mengembalikan HITRESULT_HIT setiap kali titik dalam persegi mungkin menjadi hit pada objek. Artinya, diperbolehkan untuk mengklaim hit untuk titik yang sebenarnya tidak dirender, tetapi tidak pernah benar untuk mengklaim kesalahan untuk titik apa pun yang ada dalam gambar objek yang dirender.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header ocidl.h

Lihat juga

HITRESULT

IViewObjectEx