Visual Basic – Pozicija kurzora

U sledeฤ‡em tekstu videฤ‡ete kako da dobijete poziciju kurzora na ekranu uz pomoฤ‡ Windows API funkcije GetCursorPos.

GetCursorPos funkcija javlja poziciju pokazivaฤa miลกa bilo gde na ekranu, tj. svaka Visual Basic aplikacija je ograniฤena u javljanju pozicije i to svojim sopstvenim granicama na ekranu. Ovo u stvari znaฤi da naลกa aplikacija „ne zna“ gde se nalazi pokazivaฤ ukoliko on nije iznad forme same aplikacije. Ali Windows u svakom trenutku zna tu poziciju i to preko API funkcije GetCursorPos.

U sledeฤ‡em listingu videฤ‡ete izvorni kod jedne funkcije koja ilustruje koriลกฤ‡enje ove API funkcije. Ovu funkciju ubacite u modul, pa ฤ‡e nam ova funkcija vratiti string koji nam govori o lokaciji pokazivaฤa.


01 Public Function ReportMousePos() As String
02
03 Dim MyPointAPI As POINTAPI
04 Dim l As Long
05 Dim strReport As String
06
07 ‘Poziv API funkcije
08 l = GetCursorPos(MyPointAPI)
09
10 ‘String koji se vraฤ‡a
11 strReport = „X=“ & CStr(MyPointAPI.X) & „, “
12 strReport = strReport & „Y= “ & CStr (MyPointAPI.Y)
13
14 If l > 0 Then
15 ReportMousePos = strReport
16 Else
17 ReportMousePos = „Error“
18 End If
19
20 End Function

Zapazite da se u treฤ‡oj liniji inicijalizuje POINTAPI. Deklaracija tipa podatka i deklaracija funkcije GetCursorPos se smeลกtaju u sekciju General Declarations modula. Da bi prikazali vraฤ‡eni podatak iskoristiฤ‡emo jednu labelu – „lblMousePos“ i pomoฤ‡u Timer kontrole uspostaviฤ‡emo reลพim pozivanja funkcije.

Private Sub Timer1_Timer()
lblMousePos.Caption = ReportMousePos()
End Sub

GetCursorPos ne vraฤ‡a podatak o poziciji sve dok je ne pozovemo. Zato smo iskoristili Timer kontrolu da inicijalizujemo funkciju i to svakih 1/10 sekunde.

Pratite Krstaricu na www.krstarica.com