unit uMyszOperacje;
{
W tym artykule chciałem wypisać większość operacji, które można wykonać na kursorze myszy.
Położenie myszy
Odczytanie położenia kursora
Należy użyć funkcji GetCursorPos(TPoint@)
var
Pozycja: TPoint;
Begin
GetCursorPos(Pozycja);
end;
|
Pozycja.X zawiera teraz położenie myszy na OX, Pozycja.Y - na OY
Zmiana położenia kursora
Należy użyć funkcji SetCursorPos(Integer,Integer)
Mysz zostaje ustawiona na ekranie w punkcie A(X,Y)
Ograniczenie położenia kursora
Należy użyć funkcji ClipCursor(PRect)
var
R : TRect;
begin
R.Top := 10;
R.Bottom := 10;
R.Left := 10;
R.Right := 10;
ClipCursor(@R);
end;
|
kursor zostanie "uwięziony" na powierzchni określonej przez współrzędne zmiennej r.
Pozostałe operacje myszy:
Widoczność kursora
Aby schować lub ukryć kursor myszy trzeba posłużyć się funkcją ShowCursor(Boolean):
ShowCursor(False); - "chowa" kursor
ShowCursor(True); - pokazuje kursor
|
Prędkość dwukrotnego kliknięcia
Funkcją SetDoubleClicktime(Integer) można ustawić tą prędkość, która
standardowo wynosi 500, natomiast aby odczytać aktualną wartość tego
parametru należy wywołać funkcję GetDoubleClickTime;
SetDoubleClicktime(500) - ustawia na standardową prędkość
x:=GetDoubleClickTime; - przypisuje do zmiennej x (integer) aktualną prędkość
|
Odczyt liczby przycisków myszy
Liczbę przycisków możemy uzyskać za pomocą funkcji GetSystemMetrics(Integer), i podać parametr SM_CMOUSEBUTTONS.
|
x:= GetSystemMetrics(SM_CMOUSEBUTTONS); - przypisuje do zmiennej x ilość przycisków myszy
|
Zawieszenie kursora myszy
Proces
ten jest odwracalny tylko poprzez ponowne uruchomienie systemu Windows
i można go wywołać za pomocą funkcji ShellApi (Dodaj wpis ShellApi do
listy uses):
|
ShellExecute(Handle, 'open', 'rundll32', 'mouse,disable', nil,SW_SHOWNORMAL);
|
Autor: Michał Łoński
|