Шаг 16.
Visual Prolog.
Изменение курсора мыши

    На этом шаге мы рассмотрим изменение курсора мыши.

    Продолжим наши эксперименты. Давайте попробуем теперь изменить курсор мыши для окна Sweep. Курсоры зарегистрированы в окне проекта, поэтому нажмем кнопку Cursor из панели инструментов на левой стороне окна проекта и кнопку New, чтобы здать новый курсор с именем Sweep (рис. 1).


Рис.1. Создание нового курсора

    Когда имя нового курсора появится в списке, вы должны дважды щелкнуть мышью на нем, чтобы активизировать редактор курсоров (графический редактор) (рис. 2). Здесь вам предоставляется возможность спроектировать курсор для окна Sweep. Обратите внимание, что для курсора можно применять четыре различных цвета: черный, белый, прозрачный (цвет экрана) и инверсию. Попробуйте использовать все четыре цвета в курсоре, который вы создаете, чтобы познакомиться с этими возможностями для дальнейшей работы. Обычно курсоры мыши создаются при использовании только двух цветов: экрана и инверсии.


Рис.2. Созданный курсор

    После того как курсор будет создан, проверьте его внешний вид и поведение, выбрав команду Tools | Test cursor (рис. 3).


Рис.3. Элемент меню для тестирования курсора

Установка "горячего" элемента для курсора

    Когда вы создадите курсор, нужно будет установить его "горячую" точку, т. е. пиксел, который будет определять позицию мыши, для которой надо зарегистрировать щелчок. Чтобы установить "горячую" точку курсора, выберите команду Set Cursor Hotspot из меню Edit (рис. 4).


Рис.4. Элемент меню для установки "горячей" точки курсора

    Когда этот элемент меню будет активизирован, вы можете щелкнуть на изображении курсора в том месте, где должна быть "горячая" точка (рис. 5).


Рис.5. Изменение "горячей" точки курсора

    Теперь нужно написать рабочий код. Для этого требуется вызов единственного предиката в событии создания для окна Sweep. Вызовом предиката cursor_Set возможно изменить курсор для окна.

   sweep_eh(_Win,e_Create (_),0):-!,
      cursor_Set(_Win,idc_sweep)

    Когда вы добавляете вызов предиката cursor_Set, используйте предложенный ниже метод.

  1. Активизируйте эксперта окон и диалоговых окон нажатием комбинации клавиш <Ctrl>+<W>; затем нажмите кнопку Edit Clause для события e_Create окна Sweep - теперь вы в нужном месте исходного кода.
  2. Используйте комбинацию клавиш <Shift> +<Ctrl>+<V>, чтобы вставить вызов предиката cursor_Set.
  3. Выберите второй аргумент Resid в вызове предиката cursor_Set. Используйте команду Insert | Resource identifier| Cursors, чтобы вставить идентификатор курсора.

    Теперь запустите свое приложение и проследите, как ведет себя мышь.

    Созданное приложение можно взять здесь (395,7 Кб)

    На следующем шаге мы рассмотрим создание всплывающего меню.




Предыдущий шаг Содержание Следующий шаг