3.3.2. Включить курсор мыши



3.3.2. Включить курсор мыши

На входе: AX = 0001h. На выходе: регистры не используются.

Для управления видимостью курсора драйвер мыши использует внутренний счетчик. Этот счетчик можно увеличивать, вызывая функцию 01h прерывания INT33h, или уменьшать при помощи функции 02h этого же прерывания.

После инициализации драйвера функцией 00h счетчик устанавливается равным -1. После первого вызова функции 01h счетчик становится равным 0. При этом курсор мыши становится видимым, его можно перемещать по экрану.

Если счетчик равен 0, то следующие вызовы функции 01h игнорируются драйвером. Для того, чтобы погасить курсор, используйте функцию 02h, которая при вызове уменьшает каждый раз содержимое счетчика на единицу.

Функция 01h сбрасывает область, в которой курсор не отображается (если такая область была ранее установлена функцией 10h).

Вызов функции из Си: /** *.Name ms_on *.Title Включение курсора мыши * *.Descr Эта функция увеличивает на 1 индикатор * уровня видимости курсора. Если индикатор * равен нулю, курсор появляется на экране. * Значение индикатора не превышает * нуля даже при многократных вызовах этой функции. * *.Proto void ms_on(void) * *.Params Не используются * *.Return Ничего * *.Sample ms_sampl1.c **/ #include <dos.h> #include <conio.h> union REGS reg; void ms_on(void) { reg.x.ax = 1; int86(0x33,&reg,&reg); }



Содержание Назад Вперед