Metode IRawElementProviderFragmentRoot::ElementProviderFromPoint (uiautomationcore.h)
Mengambil penyedia elemen yang berada pada titik yang ditentukan dalam fragmen ini.
Sintaks
HRESULT ElementProviderFromPoint(
[in] double x,
[in] double y,
[out, retval] IRawElementProviderFragment **pRetVal
);
Parameter
[in] x
Jenis: ganda
Koordinat layar horizontal.
[in] y
Jenis: ganda
Koordinat layar vertikal.
[out, retval] pRetVal
Jenis: IRawElementProviderFragment**
Menerima penunjuk ke penyedia elemen di (x, y), atau NULL jika tidak ada. Parameter ini diteruskan tanpa diinisialisasi.
Nilai kembali
Jenis: HRESULT
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Penyedia yang dikembalikan harus sesuai dengan elemen yang akan menerima input mouse pada titik yang ditentukan.
Jika titik berada pada elemen ini tetapi tidak pada elemen turunan apa pun, baik NULL atau penyedia akar fragmen dikembalikan. Jika titik berada pada elemen dalam kerangka kerja lain yang dihosting oleh fragmen ini, metode mengembalikan elemen yang menghosting fragmen tersebut (seperti yang ditunjukkan oleh IRawElementProviderFragment::GetEmbeddedFragmentRoots).
Contoh
Contoh berikut menunjukkan implementasi untuk kotak daftar yang dihosting di HWND yang handelnya m_controlHwnd. IndexFromY mengambil indeks item daftar di posisi kursor, dan GetItemByIndex mengambil penyedia Automation UI untuk item tersebut.
HRESULT STDMETHODCALLTYPE ListProvider::ElementProviderFromPoint(double x, double y, IRawElementProviderFragment** pRetVal)
{
if (pRetVal == NULL)
{
return E_INVALIDARG;
}
POINT pt;
pt.x = (LONG)x;
pt.y = (LONG)y;
ScreenToClient(m_controlHwnd, &pt);
int itemIndex = this->m_pControl->IndexFromY(m_controlHwnd, pt.y);
ListItemProvider* pItem = GetItemByIndex(itemIndex);
if (pItem != NULL)
{
*pRetVal = (IRawElementProviderFragment*)pItem;
pItem->AddRef();
}
else
{
pRetVal = (IRawElementProviderFragment*)this;
pItem->AddRef();
}
return S_OK;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | uiautomationcore.h (termasuk UIAutomation.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk