На этом шаге мы рассмотрим настройку курсора.
Перед началом работы с курсором стоит рассмотреть следующие вопросы:
Специальный курсор должен ясно показывать, для чего он предназначен. Типичным случаем использования курсора является представление задачи, выполняемой пользователем. Например, в графической программе курсор может выводиться в виде кисти, ластика или пера, в зависимости от того, что делает пользователь.
Оперативная точка - это активная область курсора, которую пользователь может перемещать на управляющие элементы, меню, и т.д. и щелкать кнопкой мыши. Например, если вы используете курсор в виде стрелки, то пользователь ожидает, что оперативная точка находится на кончике стрелки. В других случаях для указания активной области вы можете использовать крестик. Например, когда вы выбираете инструментальное средство "Банка с краской", редактор Пакета разработчика ресурсов превращает курсор мыши в банку с краской с крестиком.
Нужно помнить о том, что курсор будет маленьким, поэтому вы не можете вместить в него много деталей.
Подумайте о том, где, скорее всего, будет выводиться курсор и проверьте, как он выглядит при различном выборе фонового цвета и образца.
Когда вы определитесь с выбором подходящей стратегии, можете начать создание курсора.
Вы можете масштабировать (увеличивать размер) курсора, как и любой другой графический ресурс. Как и для пиктограмм, в меню View имеется дополнительная команда, CGA Resolution (32х16) (Разрешающая способность CGA), которая позволяет вам увидеть, как курсор будет выглядеть на экране CGA.
Выбор данной команды преобразует изображение к его фактическому размеру и выводит его в формате 32х16. Чтобы выйти из режима CGA выберите одну из команд масштабирования.
Пакет разработчика ресурсов создает только курсоры размером 32х32 точки. Посмотреть, как курсор будет выглядеть на экране CGA, можно с помощью команды View | CGA Resolution (32х16) (Просмотр | Разрешающая способность CGA). Но с помощью данной команды вы можете только изменить вывод курсора, но не сам курсор - он останется курсором в формате 32х32.
Прозрачная и инвертированная области выводятся при редактировании пиктограммы. Однако, когда вы используете пиктограмму, прозрачная область выводится цветом, соответствующим цвету оперативной области, а инвертированная область - цветом, инвертированным к данному цвету.
Новое изображение курсора автоматически имеет прозрачный фон. Поэтому, если создается новое изображение и вы нарисуете в нем только одну линию, то увидите эту линию только при проверке графического изображения на фоне оперативной области - блок с фоновым цветом и линия в нем не видны.
Как и в случае пиктограммы, вы можете изменить цвет прозрачной и инвертированной области курсора. Обычно фон курсора остается прозрачным, благодаря чему пользователь может видеть изображение, на котором находится курсор.
Вы можете изменить цвета, которыми графический редактор выводит прозрачную и инвертированную области. Это делается следующим образом:
Рис.1. Диалоговое окно для изменения цвета
Как вы можете заметить, в данном окне имеется третий цвет, Inverse, который является инвертированным по отношению к цвету в среднем блоке. Цвет в среднем блоке становится цветом прозрачной области, а цвет в блоке справе становится цветом инвертированной области.
При создании курсора и его настройки важным вопросом является размещение его оперативной точки - активной области курсора. Напомним, что оперативная точка - это одиночный элемент изображения курсора, фиксирующий то место, в которое пользователь помещает курсор и нажимает кнопку мыши. Чтобы задать оперативную точку, нужно решить, какие координаты должна иметь оперативная точка в элементах изображения. Координаты в элементах изображения задаются в горизонтальных (х) и вертикальных (y) единицах. Верхний левый угол образа курсора имеет координаты х=0, у=0. Нижним правым элементом изображения курсора 32х32 является х=31 и у=31, а для курсора 32х16 - х=31, у=15.
К счастью, вам не нужно считать координаты. Нужно просто поместить элемент рисования (например, перо) на то место, где вы хотите получить оперативную точку. Строка состояния в нижней части окна редактирования покажет координаты в точках. (Запомните эти координаты, чтобы ввести их позднее в диалоговом окне Set Hot Spot).
После того, как вы определите координаты, выберите команду Cursor | Set Hot Spot.
Рис.2. Диалоговое окно Set Hot Spot
Подробно процесс задания оперативной точки можно описать следующим образом:
В любой нужный момент с помощью команды Cursor | Test вы можете проверить свой курсор - Пакет разработчика ресурсов превращает текущий курсор в проверочную версию вашего курсора. Вы можете перемещать его и посмотреть, как он выглядит на различном фоне. Когда вы завершите проверку, просто щелкните кнопкой мыши, чтобы получить снова реальный курсор.
Для проверки оперативной точки курсора сделайте следующее:
Если вы корректно установили оперативную точку, инструментальное средство будет указывать на ту же точку (элемент изображения), на какую указывает ваш проверяемый курсор.
Сохранение всего проекта сохраняет также ресурс курсора, с которым вы работаете. Однако, ресурс курсора можно сохранить в файле, чтобы данный двоичный формат использовался другими программами. В этом случае нужно выполнить пункт меню Resource.
Рис.3. Окно Save Resource As для курсоров
На следующем шаге мы рассмотрим создание нового битового массива.