Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с мышью.doc
Скачиваний:
2
Добавлен:
16.11.2019
Размер:
79.36 Кб
Скачать

Установка курсора в заданную позицию.

Обычно курсор мыши устанавливает не программа, а пользователь. Однако с помощью функции 04h программа тоже может установить курсор в заданную позицию.

Регистры на входе : АХ = 0004h

СХ = новая координата Х курсора;

DX = новая координата Y курсора

Регистры на выходе : Регистры не используются

Для текстового режима устанавливаемые номера строки и столбца должны быть умножены на 8.

В том случае, когда программа пытается установить курсор в область, где курсор невидим (эта область задается функцией 10h), она сможет это сделать. Курсор при этом исчезнет с экрана, что не всегда желательно.

Если область для перемещения курсора была ограничена при помощи функцией 07h и 08h, то курсор будет вести себя следующим образом. При попытке установить курсор за границу ограничения он будет установлен в точку, которая находится внутри границы на минимальном расстоянии от точки, заданной при вызове функции.

Определение позиции курсора при нажатии клавиши.

Регистры на входе: АХ = 0005h

BX = клавиша при нажатии которой запоминается состояние мыши : 0 - левая; 1 - правая; 2 - средняя.

Регистры на выходе : АХ = состояние клавиш мыши;

ВХ = количество нажатий на заданную клавишу. Это значение обнуляется после вызова функции;

СХ = координата курсора Х;

DX = координата курсора Y

В зависимости от того, была ли нажата какая-либо клавиша мыши в момент вызова функции, в регистре АХ могут быть установлены следующие флаги:

Бит регистра АХ

Клавиша, которая была нажата

0

Левая

1

Правая

2

Средняя

В отличие от функции 03h эта функция возвращает программе не текущее состояние мыши, а запомненное в момент последнего нажатия на клавишу, заранее определенную при вызове функции. Она также возвращает количество нажатий на заданную клавишу, которое можно использовать для обнаружения двойных щелчков.

Определение положения курсора при отпускании клавиши.

Функция 06h возвращает программе состояние мыши, запомненное в момент отпускания клавиши, которая была заранее определена при вызове функции. Она также возвращает количество отпусканий заданной клавиши.

Регистры на входе: АХ = 0006h

ВХ = клавиша, при отпускании которой запоминается состояние мыши: 0 - левая; 1 - правая; 2 – средняя.

Регистры на выходе:

АХ = состояние клавиш мыши;

ВХ = количество отпусканий заданной клавиши. Это значение обнуляется при вызове функции;

СХ = координата курсора Х;

DX = координата курсора Y.

Формат регистра АХ, определяющий состояние клавиш мыши, такой же как и для функции 05h.

7. Задание диапазона движения курсора по горизонтали (вертикали).

Функция 07h позволяет ограничить диапазон перемещений курсора мыши по горизонтали.

Регистры на входе: АХ = 0007h

СХ = минимальная координата Х;

DX = максимальная координата Х

Регистры на выходе: Регистры не используются

Задание диапазона движения курсора по вертикали

Функция 08h позволяет ограничить диапазон перемещений курсора мыши по вертикали.

Регистры на входе: АХ = 0007h

СХ = минимальная координата Y;

DX = максимальная координата Y

Регистры на выходе: Регистры не используются