Event
 
Предварительно определенная структура (UDT) используемая ScreenEvent для возврата данных событий

Синтаксис

Dim variable As Event

Описание

Здесь мы сообщаем структуру EVENT для ясности:
Type EVENT Field = 1
    Type As Integer
    Union
        Type
            scancode As Integer
            ascii As Integer
        End Type
        Type
            x As Integer
            y As Integer
            dx As Integer
            dy As Integer
        End Type
        button As Integer
        z As Integer
        w As Integer
    End Union
End Type


Type Field будет содержать тип события ID, а остальные 4 integer конфиденциальные данные с типом события.

Типы события
Тип события идентифицируется ID возвращенным в первое integer число буфера event  (.type поле в структуре EVENT). Известные ID типа события - и их значения к моменту написания:

  • EVENT_KEY_PRESS (1) Клавиша была нажата на клавиатуре. Поле .scancode содержит значение сканкода для независимой платформы для клавиши; Если ключ имеет представления ascii, он проводится в поле .ascii , которое в противном случае имеет значение 0.
  • EVENT_KEY_RELEASE (2) Клавиша была отпущена на клавиатуре. Поля .scancode и .ascii имеют то же значение, как с событием EVENT_KEY_PRESS.
  • EVENT_KEY_REPEAT (3) Неоднократно удерживаемая клавиша. Поля .scancode и .ascii имеют то же значение, как с событием EVENT_KEY_PRESS.
  • EVENT_MOUSE_MOVE (4) Мышь была перемещена в то время как она была в окне программы. Поля .x и .y содержат новое положение курсора мыши относительно левого верхнего угла экрана, в то время как .dx и .dy поля содержат движения дельты.
  • EVENT_MOUSE_BUTTON_PRESS (5) Одна из кнопок мыши нажата. В поле .button установлен один бит для идентификации кнопки, которая была нажата; бит 0 определяет левую кнопку мыши, бит 1 правую кнопку мыши и бит 2 среднюю кнопку мыши.
  • EVENT_MOUSE_BUTTON_RELEASE (6) Одна из кнопок мыши был опущена. Поле .button имеет тоже значение , что и в событии EVENT_MOUSE_BUTTON_PRESS.
  • EVENT_MOUSE_DOUBLE_CLICK (7) Одна из кнопок мыши нажата два раза (двойной щелчок). Поле .button имеет тоже значение , что и в событии EVENT_MOUSE_BUTTON_PRESS.
  • EVENT_MOUSE_WHEEL (8) Колесико мыши было использовано; Новая позиция колеса возвращается в поле .z.
  • EVENT_MOUSE_ENTER (9) Мышь была перемещена в окно программы.
  • EVENT_MOUSE_EXIT (10) Мышь была перемещена из окна программы.
  • EVENT_WINDOW_GOT_FOCUS (11) Окно программы имеет фокус.
  • EVENT_WINDOW_LOST_FOCUS (12) Окно программы потеряло фокус.
  • EVENT_WINDOW_CLOSE (13) Пользователь попытался закрыть окно программы.
  • EVENT_MOUSE_HWHEEL (14) Горизонтальное колесо мыши было использовано; новое положение горизонтального колеса возвращается в поле .w.

Файл заголовка fbgfx.bi содержит определение EVENT пользовательского типа данных.

Различия диалектов

Отличия от QB

  • Новое в FreeBASIC

См. также