Шаг 82.
Visual Prolog.
Курсор

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

    Курсор - это форма указателя для мыши или устройства с шаровым манипулятором. Каждое окно на экране имеет свой собственный курсор, который может быть изменен приложением. Набор курсоров для окна обычно или заранее задан, или определен в файле ресурсов.

    Существует 11 предопределенных типов курсоров. Эти константы принадлежат домену cursor и перечислены в таблице 1.

Таблица 1. Типы курсора
Идентификатор курсора Описание курсора
cursor_Arrow Стандартный курсор в виде стрелки
cursor_Cross Курсор в виде перекрестия
cursor_Ibeam Текстовый курсор в виде буквы I
cursor_Icon Пустая пиктограмма
cursor_Size Курсор в виде квадрата с меньшим квадратом в его нижнем правом углу
cursor_SizeNESW Двусторонний курсор с направлением северо-восток/юго-запад
cursor_SizeNS Двусторонний курсор с направлением север/юг
cursor_SizeNWSE Двусторонний курсор с направлением северо-запад/юго-восток
cursor_SizeWE Двусторонний курсор с направлением восток/запад
cursor_Uparrow Курсор в виде вертикальной стрелки
cursor_Wait Курсор в виде песочных часов
cursor User Первый идентификатор ресурса для пользовательских курсоров

    Дополнительные курсоры можно определить в файле ресурсов.

    Курсорам, определяемым пользователем, нужно присваивать номера (идентификаторы) ресурса, начиная с 12. VDE генерирует константу автоматически, когда вы регистрируете курсор при помощи кнопок Cursor и New в окне проекта. Курсоры в проекте могут быть созданы редактором изображений VDE или любым внешним инструментом, который может сохранять данные курсора в отдельном файле с расширением cur.

Предикаты для работы с курсорами

    В VPI есть шесть предикатов для работы с курсорами.

   cursor_Set(Window,CursorID)

    Этот предикат заменяет курсор окна Window курсором с идентификатором CursorID.

   cursor_Set(Window,CursorID,ChangeNow)

    Предикат cursor_Set(_,_,b_false) изменяет курсор только после движения мыши в указанном окне или когда мышь перемещается в указанное окно Window. С другой стороны, cursor_Set (_,_,b_true) работает так же, как cursor_Set/2.

   cursor_Get(Window)

    Этот предикат получает текущий курсор. Он полезен, если вы хотите восстановить предыдущий курсор после замены его на курсор в виде песочных часов.

   cursor_Hide()

    Этот предикат делает курсор невидимым до тех пор, пока не будет вызван предикат cursor_Set или не будет перемещена мышь.

   Cursor_SetWait()

    Этот предикат устанавливает текущим курсор в виде песочных часов. Любое движение мыши восстанавливает курсор, заданный по умолчанию.

   CursorPosition=cursor_GetPos(Window)

    Этот предикат получает позицию текущего курсора (мыши) в окне Window.

    На следующем шаге мы рассмотрим работу с мышью.




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