Скачать 3.55 Mb.
|
Выключить курсор мышиФункция 02h уменьшает на единицу счетчик видимости курсора. Если содержимое счетчика становится равным -1, изображение курсора пропадает с экрана.
Если ваша программа применяет для вывода на экран метод прямой записи в видеопамять, перед обновлением содержимого экрана необходимо погасить курсор, а после завершения обновления - высветить его опять. Это связано с тем, что драйвер мыши запоминает старое значение атрибута символа, на который указывал курсор до обновления содержимого видеопамяти. Вы изменили атрибут, записав новое значение непосредственно в экранную память. Теперь, если установить курсор мыши на другой символ, изображение старого символа будет испорчено - появится прямоугольник (как бы еще одно изображение курсора мыши). Программа MSCURSORПриведем исходный текст программы MSCURSOR (листинг 3.1), демонстрирующую применение описанных выше функций. Программа инициализирует мышь, делает видимым курсор мыши и прячет курсор после того как пользователь нажмет любую клавишу. Листинг 3.1. Файл mscursor\mscursor.c // ===================================================== // Включение и выключение курсора мыши // // (C) Фролов А.В, 1997 // // E-mail: [email protected] // WWW: http://www.glasnet.ru/~frolov // или // http://www.dials.ccas.ru/frolov // ===================================================== #include #include #include int main(void) { int nButtons; union REGS rg; printf("MSCURSOR, (c) A. Frolov, 1997\n"); // Инициализируем мышь rg.x.ax = 0; int86(0x33, &rg, &rg); if(rg.x.bx == 0) { printf("Mouse not found"); return -1; } // Сохраняем количество клавиш nButtons = rg.x.bx; printf("Mouse type: "); switch (nButtons) { case 2: { printf("2-button mouse\n"); break; } case 3: { printf("2-button Mouse Systems\n"); break; } case 0: { printf("Unknown type %d\n", nButtons); break; } default: { printf("Unknown type %d\n", nButtons); break; } } // Включаем курсор и ожидаем, пока пользователь // нажмет на клавишу rg.x.ax = 1; int86(0x33, &rg, &rg); printf("Mouse cursor on. Press any key\n"); getch(); // Выключаем курсор rg.x.ax = 2; int86(0x33, &rg, &rg); printf("Mouse cursor off. Press any key\n"); getch(); return 0; } Определить положение курсораФункция 03h возвращает текущие координаты курсора мыши и состояние клавиш.
В зависимости от того, была ли нажата какая-либо клавиша мыши в момент вызова функции, в регистре BX могут быть установлены следующие флаги:
Для графических режимов координаты располагаются в различных диапазонах, в зависимости от текущего режима видеоадаптера:
Программы, работающие в текстовом режиме, должны разделить полученные координаты на 8 (как координату X, так и координату Y). |
![]() |
М. Ю. Храмцов С. В. Шарф Руководство системного программиста (администратора)... Руководство системного программиста (администратора) системы управления прохождением задач мвс-1000/7 (версия 1, RedHat) |
![]() |
Руководство системного программиста «Электронный бюджет» подсистема обеспечения интеграции, ведения реестров и формуляров |
![]() |
Руководство системного программиста (администратора) Муниципальный модуль распределённой автоматизированной системы государственного банка данных о детях |
![]() |
Руководство системного программиста лист утверждения бкмд. 425530.... Программное обеспечение системы централизованного управления персональными мобильными устройствами и платформами в корпоративных... |
![]() |
Руководство системного программиста З по выполнению государственных функций и оказанию государственных услуг, заинтересованным лицам территориальными управлениями Росоэз... |
![]() |
Система цифровой регистрации изображений комплект программного обеспечения Программный документ “Руководство системного программиста” содержит сведения о “Комплексе программ для получения и визуализации данных,... |
![]() |
Инструкция по проведению регламентных и восстановительных работ rus. Гаро. 00001-25 32 02 Пк типа ibm pc в операционной системе Windows’98 и имеющих квалификацию инженера-программиста или системного инженера. Инструкция... |
![]() |
Инструкция читателя в онлайн-проекте «Библиотека ЛитРес» Аннотация... «Библиотека ЛитРес» (biblio litres ru) позволяет читателям библиотек получить бесплатный доступ к электронным книгам, представленным... |
![]() |
Муниципальный модуль прикладного программного обеспечения «аист»... Настоящий документ является эксплуатационным документом на муниципальный модуль прикладного программного обеспечения «Аист» (далее... |
![]() |
В. П. Казанцев инструкция по охране труда для инженера-программиста Инструкция, регламентирует безопасный, с точки зрения охраны труда, порядок действий инженера-программиста в процессе исполнения... |
![]() |
Сектор Абонемента ЛитРес Библиотека (поиск "ЛитРес" или "Библиотека"), ссылка на приложение: https://play google com/store/apps/details?id=ru litres... |
![]() |
Учебно-методический комплекс по дисциплине наименование дисциплины... Системного подхода, системной инженерии и с обширным арсеналом методов и моделей системного анализа. Это даст необходимую методологическую... |
![]() |
Должностная инструкция системного администратора информационной системы персональных данных Настоящая инструкция определяет основные обязанности, права и ответственность системного администратора информационной системы доу... |
![]() |
Пример описания технических требований системного блока №1 2 2 Пример... Устройство бесперебойного питания для рабочих станций. Типовая конфигурация №1 21 |
![]() |
Пример описания технических требований системного блока №1 2 2 Пример... Устройство бесперебойного питания для рабочих станций. Типовая конфигурация №1 22 |
![]() |
Пример описания технических требований системного блока №1 2 2 Пример... Устройство бесперебойного питания для рабочих станций. Типовая конфигурация №1 17 |
Поиск |