Tehnika Krstarice > Programiranje > Visual Basic - Pozicija kurzora

Visual Basic - Pozicija kurzora

01.11.2000.

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.

Preporučite ovaj članak

Članak još uvek nije ocenjen.