Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Změna pozice kurzoru myši |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 10.1.2003
| Publikováno: 10.1.2003
| Čtenářů: 2239
| Unikátních: 2209
|
Deklarace, popis a příklad použití API funkce SetCursorPos pro zmenu pozice kurozru myši
Chcete-li měnit pozici kurzoru myši, není nic jednoduššího než využít služeb Win32API. Pro práci s pozicí kurzoru slouží API funkce SetCursorPos z knihovny USER32.DLL. Pro demonstraci přikládám projekt, který používá navíc funkce ClientToScreen pro zjištění pozice formuláře na obrazovce a funkci GetDeviceCaps pro zjištení šířky a výšky formuláře.
Deklarace
Private Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long
Parametry
x ... pozice v bodech (pixel) zleva
y ... pozice v bodech (pixel) zhora
Zkušební projekt
'Vytvořte projekt s jedním formulářem a dvěma tlačítky
'Formulář: Form1
'Tlačítka: cmdScreen, cmdForm
'Kod vlozte do formulare
Option Explicit
Private Const HORZRES = 8
Private Const VERTRES = 10
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function ClientToScreen Lib "user32" _
(ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hdc As Long, ByVal nIndex As Long) As Long
Dim objPoint As POINTAPI
Dim vRet As Variant
Private Sub cmdForm_Click()
objPoint.x = 0
objPoint.y = 0
vRet = ClientToScreen(Form1.hwnd, objPoint)
objPoint.x = objPoint.x + Me.ScaleWidth / 2
objPoint.y = objPoint.y + Me.ScaleHeight / 2
vRet = SetCursorPos(objPoint.x, objPoint.y)
End Sub
Private Sub cmdScreen_Click()
objPoint.x = GetDeviceCaps(Form1.hdc, HORZRES) / 2
objPoint.y = GetDeviceCaps(Form1.hdc, VERTRES) / 2
vRet = SetCursorPos(objPoint.x, objPoint.y)
End Sub
Private Sub Form_Load()
cmdScreen.Caption = "Střed obrazovky"
cmdForm.Caption = "Střed formuláře"
Me.ScaleMode = vbPixels
End Sub
|