На этом шаге мы рассмотрим курсор.
Курсор - это форма указателя для мыши или устройства с шаровым манипулятором. Каждое окно на экране имеет свой собственный курсор, который может быть изменен приложением. Набор курсоров для окна обычно или заранее задан, или определен в файле ресурсов.
Существует 11 предопределенных типов курсоров. Эти константы принадлежат домену cursor и перечислены в таблице 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.
На следующем шаге мы рассмотрим работу с мышью.