Seperti halnya kursor keyboard yang ditampilkan di layar monitor, pointer mouse pun menempati koordinat tertentu di layar. Untuk mengetahui letak atau posisi koordinat pointer mouse dilayar dapat digunakan interupsi 33 heksadesimal servis 3. Berikut ini adalah prosedur untuk mengetahui koordinat pointer mouse.
Register AH harus bernilai 0.Register AL harus bernilai 3 heksadesimal.Lakukan interupsi 33 heksadesimal.
Setelah interupsi dilaksanakan:Register CX menunjukkan posisi horizontal pointer mouse (sumbu X).Register DX menunjukkan posisi vertikal pointer mouse (sumbu Y).Register BX menunjukkan tombol mouse yang ditekan. Jika nilai register BX samadengan 1 berarti tombol kiri mouse yang ditekan. Jika tombol kanan mouse yangditekan, nilai register BX sama dengan 2.Posisi vertikal dan horizontal pointer mouse dimulai dari posisi 0.
Dari prosedur yang telah dijelaskan diatas, dapat disimpulkan bahwa interupsi 33 heksadesimal servis 3 selain dapat digunakan untuk mengetahui posisi koordinat pointer mouse, juga dapat digunakan untuk mengetahui status penekanan tombol mouse. Berikut ini adalah contoh program untuk mempraktekan interupsi 33 heksadesimal servis 3. Simpan project contoh22.ide berikut ini pada direktori yang sama dengan file screen.cpp dan keyboard.cpp serta pilihlah Floating Point atau Emulation di group box Math Support pada jendela New Target.

Pada program contoh22.cpp, fungsi getMousePos menerima tiga parameter, yaitu row, col dan btn yang dikirimkan secara referensi. Parameter row dan col yang bertipe unsigned integer digunakan untuk menyimpan posisi baris dan kolom pointer mouse, sedangkan parameter btn yang bertipe unsigned character digunakan untuk mengetahui apakah tombol kiri atau kanan ditekan. Perhatikanlah baris 49! Pada baris 49, variabel baris dan kolom dibagi dengan 8 setelah fungsi getMousePos dijalankan karena nilai baris yang dikembalikan akan berkisar dari 0 s.d 479 dan nilai kolom yang dikembalikan berkisar antara 0 s.d 639. Berikut ini adalah alur program contoh22.cpp:
- Deteksi mouse. Jika mouse tidak siap digunakan maka program dihentikan.
- Jika mouse siap digunakan maka lakukan perulangan terus-menerus untuk memeriksa koordinat pointer mouse.
- Tampilkan posisi baris dan kolom pointer mouse.
- Periksa apakah tombol kanan mouse diklik. Jika tombol kanan mouse diklik maka hentikan perulangan dan program selesai.
Title :
Pertemuan XVII : Mengetahui Koordinat Pointer Mouse
Description : Seperti halnya kursor keyboard yang ditampilkan di layar monitor, pointer mouse pun menempati koordinat tertentu di layar. Untuk mengetahui...
Rating :
5