Задать диапазон движения курсора по вертикали
На входе: AX = 0008h;
CX = минимальная координата Y (по вертикали);
DX = максимальная координата Y.
На выходе: Регистры не используются.
Данная функция позволяет ограничить диапазон перемещений курсора мыши по вертикали.
Вызов функции:
/** *.Name ms_rangy *.Title Задание диапазона перемещения курсора по вертикали * *.Descr Эта функция ограничивает область перемещения * курсора по вертикали в пределах [ymin, ymax]. * *.Proto void ms_rangy(int ymin, int ymax) * *.Params int ymin - минимальная координата Y курсора; * int ymax - максимальная координата Y курсора. * *.Return Ничего * *.Sample ms_samp4.c **/
#include <dos.h> #include <conio.h>
union REGS reg;
void ms_rangy(int ymin, int ymax) {
reg.x.ax = 8; reg.x.cx = ymin; reg.x.dx = ymax;
int86(0x33,®,®);
}
Приведем текст программы, которая ограничивает диапазон перемещений курсора мыши по экрану:
#include <stdio.h> #include <conio.h> #include "sysp.h"
void main() {
int botm;
// Инициализируем мышь
if(!ms_init(&botm)) { printf("\nМышь не установлена"); exit(-1); }
// Включаем курсор и ожидаем нажатия на клавишу
printf("\n\nКурсор мыши включен, для выключения" " нажмите любую клавишу");
ms_on();
// Задаем границы, в которых должен перемещаться курсор
ms_rangx(20, 100); ms_rangy(50, 100);
getch();
// Выключаем курсор
ms_off(); }