Мышка/клавиатура
GetCursorPos()
Автор Spawn
Обрабатывай событие OnMouseMove. Координаты курсора можно получить следующим путем:
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Можно через события OnMouseEnter/OnMouseLeave:
Затем считывать параметр FMouseInPos.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
// if the result is 0, no mouse is present
function GetNumberOfMouseButtons: Integer; begin Result := GetSysTemMetrics(SM_CMOUSEBUTTONS); end;
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Your mouse has ' + IntToStr(GetNumberOfMouseButtons) + ' buttons.'); end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Существует такой тип, как TMouse, который передаёт координаты мышки в любое время, так что помести в обработчик события нажатия мыши на форме его вызов. Подробнее смотри в хелпе.
Лучше говорить, что существует объект класса TMouse, на него ссылается глобальная переменная Mouse из модуля Controls... А то человек кинется создавать свой экземпляр...
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
// Set example: procedure TForm1.Button1Click(Sender: TObject); begin // will reset after system start SetDoubleClickTime(1500); end;
// Get example: procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(IntToStr(GetDoubleClickTime)); end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
Begin //--------- SwapMouseButton(true); // Поменять обратно - SwapMouseButton(false); //--------- end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Существует свойство "WheelPresent" глобального обьекта "mouse".
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Существуют функции winapi:
WM_LBUTTONDOWN
WM_RBUTTONDOWN
Если проверить точку нажатия мышки таким вот образом:
...
SetForegroundWindow(WindowUO);
mouse_event(MOUSEEVENTF_MOVE,400,400,0,0);
...
то получилось, что мышка перемещалась не в те координаты(относительно разрешения монитора (800 на 600)) которые я задумал(в не зависимости от местоположения мышки она перемещалась строго по одному направлению на одинаковое расстояние), причем я сделал еще один вариант - dx=100, dy=100, но тогда перемещение мышки произошло в другую сторону(в сторону x=0 y=0 монитора)!
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Для этого можно воспользоваться API функцией GetCapture().
Пример:
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Следующий пример показывает, как "подтолкнуть мышку" без вмешательства пользователя.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
function MousePresent : Boolean; begin if GetSystemMetrics(SM_MOUSEPRESENT) <> 0 then Result := true else Result := false; end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Страница 6 из 8