Skip to content

EVENT(来自 ScreenEvent 的消息数据)


fbgfx.bi 中的预定义结构体(UDT),由 Screenevent 用于返回事件数据

语法

vb
#include once "fbgfx.bi"
using fb
dim variable as Event

说明

以下列出 EVENT 结构体以供参考:

start GeSHi

vb
Type EVENT Field = 1
    Type As Long
    Union
        Type
            scancode As Long
            ascii As Long
        End Type
        Type
            x As Long
            y As Long
            dx As Long
            dy As Long
        End Type
        button As Long
        z As Long
        w As Long
    End Union
End Type

end GeSHi

Type 字段包含事件类型 ID,其余 4 个整数将保存与该事件类型相关的数据。

事件类型

事件类型由返回到 event 缓冲区第一个整数(EVENT 结构体中的 .type 字段)的 ID 号标识。已知事件类型 ID 及其当前值为:

  • EVENT_KEY_PRESS1)键盘上有键被按下。.scancode 字段包含该键的平台无关扫描码值;如果该键有 ASCII 表示,则保存在 .ascii 字段中,否则该字段值为 0。
  • EVENT_KEY_RELEASE2)键盘上有键被释放。.scancode.ascii 字段含义与 EVENT_KEY_PRESS 事件相同。
  • EVENT_KEY_REPEAT3)有键被持续按住重复触发。.scancode.ascii 字段含义与 EVENT_KEY_PRESS 事件相同。
  • EVENT_MOUSE_MOVE4)鼠标在程序窗口内移动。.x.y 字段包含相对于屏幕左上角的新鼠标位置,.dx.dy 字段包含移动增量。
  • EVENT_MOUSE_BUTTON_PRESS5)某个鼠标按键被按下。.button 字段有一个位被置 1,标识被按下的按键;位 0 标识左键,位 1 标识右键,位 2 标识中键。
  • EVENT_MOUSE_BUTTON_RELEASE6)某个鼠标按键被释放。.button 字段含义与 EVENT_MOUSE_BUTTON_PRESS 事件相同。
  • EVENT_MOUSE_DOUBLE_CLICK7)某个鼠标按键被双击。.button 字段含义与 EVENT_MOUSE_BUTTON_PRESS 事件相同。
  • EVENT_MOUSE_WHEEL8)使用了鼠标滚轮;新的滚轮位置返回到 .z 字段中。
  • EVENT_MOUSE_ENTER9)鼠标移入程序窗口。
  • EVENT_MOUSE_EXIT10)鼠标移出程序窗口。
  • EVENT_WINDOW_GOT_FOCUS11)程序窗口获得焦点。
  • EVENT_WINDOW_LOST_FOCUS12)程序窗口失去焦点。
  • EVENT_WINDOW_CLOSE13)用户尝试关闭程序窗口。
  • EVENT_MOUSE_HWHEEL14)使用了水平鼠标滚轮;新的水平滚轮位置返回到 .w 字段中。

fbgfx.bi 头文件包含 EVENT 用户数据类型的定义,因此无需手动声明。

示例

参见 ScreenEvent 的示例。

方言差异

  • lang fb 方言中,结构体和常量存储在 FB 命名空间中。其他方言不是这种情况。

与 QB 的区别

  • FreeBASIC 新增

另请参阅

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系