EVENT(来自 ScreenEvent 的消息数据)
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgEvent
- 最后更新: 2022-06-07
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 Typeend GeSHi
Type 字段包含事件类型 ID,其余 4 个整数将保存与该事件类型相关的数据。
事件类型
事件类型由返回到 event 缓冲区第一个整数(EVENT 结构体中的 .type 字段)的 ID 号标识。已知事件类型 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字段有一个位被置 1,标识被按下的按键;位 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 用户数据类型的定义,因此无需手动声明。
示例
参见 ScreenEvent 的示例。
方言差异
- 在 lang fb 方言中,结构体和常量存储在
FB命名空间中。其他方言不是这种情况。
与 QB 的区别
- FreeBASIC 新增
另请参阅
返回 目录