当前位置: 主页 > 百科 > 计算机编程 > 易语言源码 >
-12 Comments

易语言源码热键框

发布于:2016-07-03  |   作者:http://www.zxjsq.net  |   已聚集:人围观

.版本 2


.程序集 窗口程序集_启动窗口

.程序集变量 键代码信息, 文本型, , "0"

.程序集变量 原窗口过程, 整数型

.程序集变量 集_键代码, 整数型

.程序集变量 集_功能键状态, 整数型


.子程序 __启动窗口_创建完毕



标签1.移动 (0, 0, 取用户区宽度 (), )

标签1.背景颜色 = 13932802

键代码信息 = 分割文本 (#键代码描述, #换行符, )

编辑框1.输入方式 = 1

原窗口过程 = GetWindowLongA (编辑框1.取窗口句柄 (), #GWL_WNDPROC)

SetWindowLongA (编辑框1.取窗口句柄 (), #GWL_WNDPROC, 到数值 (&添加热键热键框过程))

编辑框1.宽度 = 标签1.宽度 - 编辑框2.左边 - 1

编辑框2.宽度 = 标签1.宽度 - 编辑框2.左边 - 1


.子程序 添加热键热键框过程, 整数型

.参数 hWnd, 整数型

.参数 uMsg, 整数型

.参数 wParam, 整数型

.参数 lParam, 整数型

.局部变量 str, 文本型



.判断开始 (uMsg = #WM_KILLFOCUS)  ' 窗口失去焦点

    .如果真 (取文本右边 (编辑框1.内容, 1) = “ ”)

        集_键代码 = 0

        集_功能键状态 = 0

        编辑框1.内容 = “无”

        编辑框1.起始选择位置 = -1

    .如果真结束

    '

.判断 (uMsg = #WM_KEYDOWN 或 uMsg = 260)

    编辑框1.内容 = “”

    编辑框1.起始选择位置 = -1

    格式化键代码 (wParam, 假)

    返回 (-1)

.判断 (uMsg = #WM_KEYUP 或 uMsg = 261)

    格式化键代码 (wParam, 真)

    str = 编辑框1.内容

    .如果真 (取文本右边 (str, 3) = “ + ” 或 str = “”)

        编辑框1.内容 = “无”

        编辑框1.起始选择位置 = -1

        编辑框1.被选择字符数 = 100

        集_键代码 = 0

        集_功能键状态 = 0

    .如果真结束

    返回 (-1)

.判断 (uMsg = #WM_MOUSEMOVE)

    返回 (-1)

.判断 (uMsg = #WM_LBUTTONDOWN)

    编辑框1.获取焦点 ()

    返回 (-1)

.判断 (uMsg = #WM_RBUTTONUP)

    编辑框1.获取焦点 ()

    返回 (-1)

.默认


.判断结束

返回 (CallWindowProcA (原窗口过程, hWnd, uMsg, wParam, lParam))


.子程序 格式化键代码

.参数 键代码, 整数型

.参数 放开键, 逻辑型, 可空

.局部变量 临时, 文本型

.局部变量 内容, 文本型


.如果真 (放开键 = 假)

    集_功能键状态 = 0

.如果真结束

.如果真 (GetKeyState (17) ≠ 假 且 GetKeyState (17) ≠ 真)  ' Ctrl

    临时 = 临时 + “Ctrl + ”

    .如果真 (放开键 = 假)

        集_功能键状态 = 集_功能键状态 + 2

    .如果真结束


.如果真结束

.如果真 (GetKeyState (18) ≠ 假 且 GetKeyState (18) ≠ 真)  ' Alt

    临时 = 临时 + “Alt + ”

    .如果真 (放开键 = 假)

        集_功能键状态 = 集_功能键状态 + 1

    .如果真结束


.如果真结束

.如果真 (GetKeyState (16) ≠ 假 且 GetKeyState (16) ≠ 真)  ' Shift

    临时 = 临时 + “Shift + ”

    .如果真 (放开键 = 假)

        集_功能键状态 = 集_功能键状态 + 4

    .如果真结束


.如果真结束

.如果真 (GetKeyState (91) ≠ 假 且 GetKeyState (91) ≠ 真)

    临时 = 临时 + “Win + ”

    .如果真 (放开键 = 假)

        集_功能键状态 = 集_功能键状态 + 8

    .如果真结束


.如果真结束

内容 = 编辑框1.内容

.如果 (取文本右边 (内容, 3) ≠ “ + ” 且 内容 ≠ “”)

    ' 本源码来自易语言资源网(www.5A5X.com)

.否则


    .如果真 (取文本右边 (内容, 3) = “ + ” 且 放开键)

        编辑框1.内容 = “”

        编辑框1.起始选择位置 = -1

        集_键代码 = 0

        集_功能键状态 = 0

        返回 ()

    .如果真结束


    集_键代码 = 键代码

    编辑框1.内容 = 临时 + 键代码信息 [键代码]

    编辑框1.起始选择位置 = -1

.如果结束



.子程序 _编辑框1_内容被改变


编辑框2.内容 = “功能键状态:” + 到文本 (集_功能键状态) + “  键代码:” + 到文本 (集_键代码)


标签:                   喜欢:收藏