Аппаратное обеспечение IBM PC

       

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


На входе: 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,&reg,&reg);

}



Приведем текст программы, которая ограничивает диапазон перемещений курсора мыши по экрану:

#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(); }



Содержание раздела