Bagikan melalui


Fungsi DrvMovePointer (winddi.h)

Fungsi DrvMovePointer memindahkan penunjuk ke posisi baru dan memastikan bahwa GDI tidak mengganggu tampilan penunjuk.

Sintaks

void DrvMovePointer(
  [in] SURFOBJ *pso,
  [in] LONG    x,
  [in] LONG    y,
  [in] RECTL   *prcl
);

Parameter

[in] pso

Penunjuk ke struktur SURFOBJ yang menjelaskan permukaan perangkat tampilan.

[in] x

Tentukan koordinat x pada tampilan tempat driver harus memposisikan titik panas penunjuk.

Nilai x negatif menunjukkan bahwa driver harus menghapus penunjuk dari tampilan karena gambar akan terjadi di tempatnya berada saat ini. Jika pointer telah dihapus dari tampilan dan nilai x nonnegative, driver harus memulihkan pointer.

[in] y

Tentukan koordinat y pada tampilan tempat driver harus memposisikan titik panas penunjuk.

Ketika driver telah mengatur bendera GCAPS_PANNING dalam struktur DEVINFO , nilai y negatif menunjukkan bahwa GDI memanggil fungsi ini hanya untuk memberi tahu driver posisi kursor saat ini. Posisi saat ini dapat dihitung sebagai (x, y+pso-sizlBitmap.cy>). Driver yang tidak mengatur bendera GCAPS_PANNING tidak akan pernah menerima koordinat y negatif.

[in] prcl

Penunjuk ke struktur RECTL yang menentukan area yang membatasi semua piksel yang dipengaruhi oleh penunjuk pada layar. GDI tidak akan menggambar dalam persegi panjang ini tanpa terlebih dahulu menghapus penunjuk dari layar. Parameter ini bisa NULL.

Mengembalikan nilai

Tidak ada

Keterangan

Driver terkadang perlu mengetahui posisi pointer saat ini di layar − bahkan ketika GDI mensimulasikan pointer (sedemikian rupa sehingga driver tidak lagi mendapatkan panggilan DrvMovePointer normal) − untuk menangani panning layar virtual. Untuk menerima pemberitahuan ini, driver harus mengatur bendera GCAPS_PANNING di bidang flGraphicsCaps dari struktur DEVINFO .

DrvMovePointer tidak akan dipanggil saat utas apa pun menggambar di driver tampilan kecuali bendera GCAPS_ASYNCMOVE diatur dalam anggota flGraphicsCaps DEVINFO.

DrvMovePointer harus diimplementasikan dalam driver tampilan hanya ketika DrvSetPointerShape juga diimplementasikan.

Jika driver telah mendaftarkan penunjuk yang ditentukan menggunakan DrvSetPointerShape, DrvMovePointer tidak boleh gagal.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header winddi.h (termasuk Winddi.h)

Lihat juga

DEVINFO

DrvSetPointerShape

SURFOBJ