Ноутбуки   
   Софт   
   Компьютеры   
   Компьютерные фирмы   
  Меню сайта

BIOS

SSD-накопители

Акустика для ПК

Видеокарты

Видеокарты - История

Джойстики, клавиатуры и мыши

Дигитайзеры

Жесткие диски

Жесткие диски - история

Звуковые карты

Именитые люди компьютерной индустрии

История компьютеров

Карманные компьютеры

Компьютер десктоп - готовая сборка

Компьютерные фирмы

Компьютеры в теории и практике

Копировальные аппараты

Корпуса, вентиляторы, блоки питания

Маршрутизаторы, коммутаторы, хабы

Материнские платы

Модемы

Модули памяти

Мониторы

Мониторы и видеокарты - история

Новости

Ноутбуки и субноутбуки

Оборудование беспроводной связи, bluetooth, wi-fi

Оптические накопители CD, DVD, Blueray

Оргтехника

Память - история

Плоттеры

Принтеры

Процессоры

Процессоры - история

Сетевые карты

Сетевые фильтры, ИБП

Сети

Сканеры

Сменные жесткие диски

Советские ПК

ТВ-тюнеры

Типы компьютеров

Устройства архивации данных и стримеры

Факс

Флоппи-дисководы

Флэшки и всяко-разно

Шины и чипсеты - история




Главная страница Прайс-лист Интернет-магазин

Управление курсором

Курсор представляет собой важнейший компонент видеодисплея. Обычно он используется в качестве индикатора местоположения символа, вводимого с клавиатуры, однако он используется также и в качестве указателя на объекты, расположенные на экране. В данном параграфе мы рассмотрим принцип управления курсором. Первое, о чем мне хотелось бы здесь сказать, связано с тем, что мерцающий курсор IBM/PC может оказаться неприемлемым для многих пользователей.
Рассмотрим некоторые альтернативные варианты.
В связи с использованием мерцающего курсора возникает ряд проблем чисто зрительного восприятия. Компьютер IBM/PC имеет курсор стандартной формы, появляющиеся на экране при включении компьютера в электрическую сеть; это небольшое мерцающее пятно, расположенное ниже позиции символа. Некоторые считают, что такой курсор трудно отыскать на экране, заполненном информацией .
Существует возможность увеличить размер курсора, доведя его до размера символа. В качестве образца процедуры увеличения размера курсора до половины размера символа следует запустить интерпретатор с языка Бейсик и нажать клавишу Insert (Вставка). С помощью оператора LOCATE можно установить любой размер курсора. Но при этом оказывается, что большой мерцающий курсор действует на глаз утомляюще, особенно при длительной работе.
Мерцающий курсор можно использовать двумя способами. Первый способ связан с использованием атрибута обратного изображения (шестнадцатеричный код 70) в отношении той позиции экрана, в которой находится курсор. В этом случае генерируется большое световое пятно, на фоне которого виден символ; таким образом, возникает сплошной (имеющий размер символа) немерцающий курсор. Курсор такого типа хорошо воспринимается в зрительном плане и не действует утомляюще на глаз. В тех случаях, когда Бейсик работает с цветным графическим монитором в графическом режиме, оказывается, что курсор генерируется сходным образом. Объясняется это тем, что графический режим не предусматривает аппаратной реализации мерцающего курсора, поэтому Бейсик вынужден имитировать курсор. Но даже в тех случаях, когда предусмотрен мерцающий курсор, реверсивное изображение считается наилучшим способом представления курсора (здесь уместно заметить, что текстовый редактор, использованный при подготовке рукописи этой книги (Vedit), имеет именно такой курсор).
Второй способ использования курсора особенно уместен, когда программа выводит на экран перечни (списки) каких-либо информационных объектов. Назначение курсора состоит не только в фиксации на экране позиции табуляции (позиции размещения символа), но также и в реализации процедуры выбора. Последнее характерно для программ обработки меню, списков файлов и вообще наборов альтернативных вариантов. Для таких случаев я бы предложил использовать два символа "стрелки", именно CHR$(16) для стрелки, направленной вправо, и CHR$(17) для стрелки, направленной влево. (Входящая в состав пакета программ, прилагаемого к данной книге, программа DiskLook, а также многие другие программы из числа "Нортон Ютилити" используют правую стрелку).
Если задача генерации искусственного курсора не стоит, то задача управления курсором практически возникает всегда. Впрочем, в случае искусственного создания курсора может возникнуть потребность вообще убрать его с экрана. Курсор обладает двумя характеристиками, подлежащими управлению: размером и позицией.
В случае аппаратно-генерируемого курсора он представляется в виде совокупности мерцающих строк из числа строк развертки, генерирующих отображаемый символ. Поскольку строки, из которых он состоит, не могут управляться независимо, то у пользователя имеется возможность управлять лишь группой мерцающих строк. Монохромный дисплей имеет 13 строк развертки, а цветной графический - 7. Принято нумеровать строки сверху, начиная с 0 и вплоть до 13 (для монохромного дисплея) или до 7 (для цветного дисплея). Стандартное положение курсора (в момент запуска IBM/PC) - 12 и 13-я строки для монохромного дисплея и 7-я строка для цветного графического дисплея.
Пользователь имеет возможность задать положение курсора путем выделения произвольного количества этих строк, указав начальный и конечный номер строк развертки. Курсор, таким образом, может быть полноразмерным или занимать верхнюю, среднюю и нижнюю часть позиции символа.
Если номер начальной строки больше номера конечной строки (например: начальная строка имеет номер 12, а конечная строка номер 2), то курсор будет образован следующим образом: используются строки развертки, начинающиеся с начальной строки вплоть до конечной строки, а затем берутся самые верхние строки, вплоть до конечной строки. Таким образом, генерируется курсор весьма причудливой формы, состоящий из двух частей - верхней и нижней. Это весьма необычная конструкция, и у Вас может возникнуть желание посмотреть на нее; я бы, однако, рекомендовал хорошо подумать, прежде чем предлагать такое решение пользователям Ваших программ.
При необходимости генерации составного курсора следует запустить интерпретатор языка Бейсик и ввести команду
LOCATE ,,, 6,2
В результате на экране появится составной курсор и могут быть выполнены действия по модификации его размеров. Вторым управляемым параметром курсора является его местоположение. Курсор может быть расположен в любой строке или столбце экрана дисплея, кроме того, его можно скрыть, поместив в несуществующую строку 26. С помощью оператора LOCATE (язык Бейсик) можно управлять обоими параметрами. Для остальных языков это не так. Многие пользователи языка Паскаль считают, что отсутствие средств управления курсором является серьезным недостатком данной версии языка.
На дискете, прилагаемой к данной книге, содержатся процедуры, написанные на языке ассемблера; с помощью этих процедур может быть осуществлен доступ к курсору или реализовано управление им в рамках языка Паскаль или любого другого языка. Особенности реализации этих процедур описаны в параграфе 8.11; там же приведены и другие сведения, касающиеся обращения к BIOS-ПЗУ для видеодоступа.


Атрибуты изображений

Основы машинной графики

Особенности воспроизведения цвета

Отображение пикселей на экране

Понятие элемента отображения (пикселя)

Представление текста (символов) в графическом режиме

Принципы формирования изображения

Псевдографический режим

Режим прямого управления видеомонитором

Символьные клавиши

Стандартный режим управления видеомонитором

Страничный механизм цветного графического дисплея

Структура копии изображения экрана

Типы экранов видеодисплеев

Управление курсором




Немного рекламы:









































































Реклама и информация:













Счётчик Rambler's Top100