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