仿易语言可视化设计修改版
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 当前选择状态, 整数型
.程序集变量 虚线选择框, 虚线选择框类, , "0"
.程序集变量 指针句柄, 整数型
.程序集变量 回调过程, 整数型
.子程序 __启动窗口_创建完毕
实例句柄 = 取实例句柄_ (字符 (0))
加入窗口组件 (“按钮”, #Ico_按钮, &创建按钮)
加入窗口组件 (“编辑框”, #Ico_编辑框, &创建编辑框)
加入窗口组件 (“高级表格”, #Ico_高级表格, &创建高级表格)
加入窗口组件 (“颜色选择器”, #Ico_颜色选择器, &创建颜色选择器)
加入窗口组件 (“月历”, #Ico_月历, &创建月历)
加入窗口组件 (“窗口”, #Ico_窗口, &创建窗口)
加入窗口组件 (“Api编辑框”, #Ico_编辑框, &创建Api编辑框)
加入窗口组件 (“Api按钮”, #Ico_按钮, &创建Api按钮)
加入窗口组件 (“Api月历”, #Ico_月历, &创建Api月历)
' 加入窗口组件 (“COM组件”, #Ico_窗口, &创建COM组件)
载入 (工具条窗口, _启动窗口, 假)
动态组件.初始化窗口 (取窗口句柄 ())
回调过程 = 取得窗口信息_ (取窗口句柄 (), -4)
设置窗口信息_ (取窗口句柄 (), -4, 到整数 (&窗体过程子程序))
指针句柄 = 载入鼠标指针_ (0, 32512)
加入扩展风格 (动态组件.取主窗体句柄 (), 33554432, 真)
加入风格 (动态组件.取主窗体句柄 (), 33554432, 真)
载入 (窗口组件箱, , 假)
载入 (工作夹, , 假)
.子程序 窗体过程子程序, 整数型
.参数 窗口句柄, 整数型
.参数 消息, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 记录矩形, 矩形_, 静态, "0"
.局部变量 控件句柄, 整数型, 静态
.局部变量 控件过程, 整数型
.局部变量 横向位置, 整数型
.局部变量 纵向位置, 整数型
.局部变量 矩形, 矩形_
.局部变量 返回过程, 整数型
.判断开始 (消息 = 32)
返回过程 = 呼叫窗口函数地址_ (回调过程, 窗口句柄, 消息, 参数一, 参数二)
SetClassLong_ (参数一, -12, 指针句柄)
.如果真 (参数一 ≠ 窗口句柄)
设当前指针_ (指针句柄)
.如果真结束
.如果真 (取父窗口_ (参数一) ≠ 取父窗口_ (窗口句柄) 且 动态组件.取过程 (参数一) = 0)
动态组件.添加组件 (窗口句柄, 参数一, , -2)
.如果真结束
返回 (返回过程)
.判断 (消息 = 3 或 消息 = 5)
.如果真 (是否已创建 (工具条窗口))
.如果 (顶边 ≥ 工具条窗口.高度)
工具条窗口.移动 (左边, 顶边 - 工具条窗口.高度, 宽度, )
.否则
工具条窗口.顶边 = -1
.如果结束
_工具条窗口_尺寸被改变 ()
工具条窗口.移动 (左边, , 宽度, )
.如果真结束
.判断 (消息 = 515)
返回 (0)
.判断 (消息 = 512)
横向位置 = 右移 (左移 (参数二, 16), 16)
纵向位置 = 右移 (参数二, 16)
调整中 (横向位置, 纵向位置, 记录矩形)
.判断 (添加中 = 假 且 消息 = 528 或 消息 = 513)
横向位置 = 右移 (左移 (参数二, 16), 16)
纵向位置 = 右移 (参数二, 16)
控件句柄 = 取鼠标位置句柄 ()
.如果 (选择状态 ≠ 0 且 选择状态 ≠ 10)
调整开始 (窗口句柄, 横向位置, 纵向位置, 记录矩形)
返回 (0)
.否则
.如果 (控件句柄 = 窗口句柄)
选择状态 = 0
.否则
选择状态 = 10
.如果真 (动态组件.取父窗口句柄 (控件句柄) ≠ 窗口句柄)
控件句柄 = 动态组件.取父窗口句柄 (控件句柄)
.如果真结束
.如果结束
.如果结束
.如果真 (选择状态 = 0 或 选择状态 = 10)
.如果真 (取数组成员数 (选中组件) = 1 且 选中组件 [1] = 控件句柄)
调整开始 (窗口句柄, 横向位置, 纵向位置, 记录矩形)
返回 (0)
.如果真结束
.如果真 (取反 (控件句柄 ≠ 窗口句柄 且 取数组成员数 (选中组件) > 1))
重画调节块 (窗口句柄)
.如果真结束
.如果真 (控件句柄 ≠ 窗口句柄 且 取数组成员数 (选中组件) ≤ 1)
加入成员 (选中组件, 控件句柄)
显示调节块 (窗口句柄)
.如果真结束
调整开始 (窗口句柄, 横向位置, 纵向位置, 记录矩形)
.如果真结束
返回 (0)
.判断 (消息 = 514 或 消息 = 517)
添加中 = 真
调整完毕 (窗口句柄, 控件句柄, 消息 = 517)
添加中 = 假
返回 (0)
.判断 (消息 = 516)
返回 (0)
.默认
.判断结束
返回 (呼叫窗口函数地址_ (回调过程, 窗口句柄, 消息, 参数一, 参数二))
.子程序 控件过程子程序, 整数型
.参数 窗口句柄, 整数型
.参数 消息, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 返回过程
' 输出调试文本 (消息)
.判断开始 (消息 = 513 或 消息 = 515 或 消息 = 516 或 消息 = 517 或 消息 = 7 或 消息 = 274 或 消息 = 164 或 消息 = 161)
返回 (0)
.判断 (消息 = 15)
返回过程 = 呼叫窗口函数地址_ (动态组件.取过程 (窗口句柄), 窗口句柄, 消息, 参数一, 参数二)
显示调节块 (取窗口句柄 ())
返回 (返回过程)
.判断 (消息 = 32)
加入扩展风格 (窗口句柄, 33554432, 真)
加入风格 (窗口句柄, 33554432, 真)
SetClassLong_ (窗口句柄, -12, 指针句柄)
返回过程 = 呼叫窗口函数地址_ (动态组件.取过程 (窗口句柄), 窗口句柄, 消息, 参数一, 参数二)
设当前指针_ (指针句柄)
返回 (返回过程)
.默认
.判断结束
返回 (呼叫窗口函数地址_ (动态组件.取过程 (窗口句柄), 窗口句柄, 消息, 参数一, 参数二))
.子程序 显示调节块
.参数 窗口句柄, 整数型
.局部变量 i
.局部变量 i2
.局部变量 方向快, 坐标_, , "0"
加入风格 (窗口句柄, 33554432, 假)
.计次循环首 (取数组成员数 (选中组件), i)
.计次循环首 (8, i2)
方向快 = 取组件位置 (选中组件 [i]).方向快
窗口画点 (窗口句柄, 方向快 [i2].横向位置 - 7, 方向快 [i2].纵向位置 - 7, 方向快 [i2].横向位置, 方向快 [i2].纵向位置)
.计次循环尾 ()
.计次循环尾 ()
.子程序 重画调节块
.参数 窗口句柄, 整数型
.局部变量 i
.局部变量 i2
.局部变量 矩形, 矩形_
.如果真 (取数组成员数 (选中组件) = 0)
返回 ()
.如果真结束
加入扩展风格 (窗口句柄, 33554432, 假)
.计次循环首 (取数组成员数 (选中组件), i)
.计次循环首 (8, i2)
矩形.左边 = 取组件位置 (选中组件 [i]).方向快 [i2].横向位置 - 7
矩形.顶边 = 取组件位置 (选中组件 [i]).方向快 [i2].纵向位置 - 7
矩形.右边 = 取组件位置 (选中组件 [i]).方向快 [i2].横向位置
矩形.底边 = 取组件位置 (选中组件 [i]).方向快 [i2].纵向位置
屏蔽窗口矩形_ (窗口句柄, 矩形, 0) ' 效果明显好多了
.计次循环尾 ()
.计次循环尾 ()
重定义数组 (选中组件, 假, 0)
.子程序 重画指定调节块
.参数 窗口句柄, 整数型
.参数 控件句柄, 整数型
.局部变量 i
.局部变量 i2
.局部变量 矩形, 矩形_
' 加入风格 (窗口句柄, 33554432, 假)
.计次循环首 (8, i2)
矩形.左边 = 取组件位置 (控件句柄).方向快 [i2].横向位置 - 7
矩形.顶边 = 取组件位置 (控件句柄).方向快 [i2].纵向位置 - 7
矩形.右边 = 取组件位置 (控件句柄).方向快 [i2].横向位置
矩形.底边 = 取组件位置 (控件句柄).方向快 [i2].纵向位置
' 重画窗口_ (窗口句柄, 矩形, 1, 1)
屏蔽窗口矩形_ (窗口句柄, 矩形, 0)
.计次循环尾 ()
矩形 = 取子窗口矩形 (控件句柄)
屏蔽窗口矩形_ (控件句柄, 矩形, 0)
.子程序 调整开始
.参数 窗口句柄, 整数型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 矩形, 矩形_, 数组
.局部变量 i
.判断开始 (选择状态 = 0 或 选择状态 = 9) ' 选择组件、添加组件
重定义数组 (矩形, 假, 1)
重定义数组 (虚线选择框, 假, 1)
.默认
重定义数组 (矩形, 假, 取数组成员数 (选中组件))
重定义数组 (虚线选择框, 假, 取数组成员数 (选中组件))
.判断结束
时钟1.时钟周期 = 0
加入扩展风格 (窗口句柄, 33554432, 假)
.计次循环首 (取数组成员数 (虚线选择框), i)
虚线选择框 [i].创建 (窗口句柄, 真)
.判断开始 (选择状态 = 10) ' 移动组件
虚线选择框 [i].开始 ()
矩形 [i] = 取子窗口矩形 (选中组件 [i])
矩形 [i].左边 = 横向位置 - 矩形 [i].左边
矩形 [i].顶边 = 纵向位置 - 矩形 [i].顶边
矩形 [i].右边 = 矩形 [i].右边 - 矩形 [i].左边 - (横向位置 - 矩形 [i].左边)
矩形 [i].底边 = 矩形 [i].底边 - 矩形 [i].顶边 - (纵向位置 - 矩形 [i].顶边)
.判断 (选择状态 = 9) ' 添加组件
虚线选择框 [i].开始 (横向位置, 纵向位置, 横向位置 + 100, 纵向位置 + 100)
矩形 [i].左边 = 横向位置
矩形 [i].顶边 = 纵向位置
.判断 (选择状态 = 0) ' 选择组件
虚线选择框 [i].开始 ()
矩形 [i].左边 = 横向位置
矩形 [i].顶边 = 纵向位置
.判断 (选择状态 ≥ 1 且 选择状态 ≤ 8) ' 组件八个方向
虚线选择框 [i].开始 ()
矩形 [i] = 取子窗口矩形 (选中组件 [i])
.默认
.判断结束
.计次循环尾 ()
.子程序 调整中
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 矩形, 矩形_, 数组
.局部变量 i
.计次循环首 (取数组成员数 (虚线选择框), i)
横向位置 = 对齐点线 (横向位置)
纵向位置 = 对齐点线 (纵向位置)
.判断开始 (选择状态 = 10) ' 移动组件 先判断这个吧。由于这个支持多选移动
虚线选择框 [i].拖动 (横向位置 - 矩形 [i].左边, 纵向位置 - 矩形 [i].顶边, 横向位置 + 矩形 [i].右边, 纵向位置 + 矩形 [i].底边)
.判断 (选择状态 = 0 或 选择状态 = 9) ' 选择组件、添加组件
虚线选择框 [i].拖动 (矩形 [i].左边, 矩形 [i].顶边, 横向位置, 纵向位置)
.判断 (选择状态 = 1) ' 组件左上角
虚线选择框 [i].拖动 (横向位置, 纵向位置, 矩形 [i].右边, 矩形 [i].底边)
.判断 (选择状态 = 2) ' 组件顶边
虚线选择框 [i].拖动 (矩形 [i].左边, 纵向位置, 矩形 [i].右边, 矩形 [i].底边)
.判断 (选择状态 = 3) ' 组件右上角
虚线选择框 [i].拖动 (矩形 [i].左边, 纵向位置, 横向位置, 矩形 [i].底边)
.判断 (选择状态 = 4) ' 组件右边
虚线选择框 [i].拖动 (矩形 [i].左边, 矩形 [i].顶边, 横向位置, 矩形 [i].底边)
.判断 (选择状态 = 5) ' 组件右下角
虚线选择框 [i].拖动 (矩形 [i].左边, 矩形 [i].顶边, 横向位置, 纵向位置)
.判断 (选择状态 = 6) ' 组件底边
虚线选择框 [i].拖动 (矩形 [i].左边, 矩形 [i].顶边, 矩形 [i].右边, 纵向位置)
.判断 (选择状态 = 7) ' 组件左下角
虚线选择框 [i].拖动 (横向位置, 矩形 [i].顶边, 矩形 [i].右边, 纵向位置)
.判断 (选择状态 = 8) ' 组件左边
虚线选择框 [i].拖动 (横向位置, 矩形 [i].顶边, 矩形 [i].右边, 矩形 [i].底边)
.默认
.判断结束
.计次循环尾 ()
.子程序 调整完毕
.参数 父窗口句柄, 整数型
.参数 窗口句柄, 整数型
.参数 放弃调整, 逻辑型, 可空
.局部变量 计次, 整数型
.局部变量 数次, 整数型
.局部变量 矩形, 矩形_
.局部变量 移动矩形, 矩形_, , "0"
.局部变量 窗口类型, 整数型
加入扩展风格 (取窗口句柄 (), 33554432, 真)
数次 = 取数组成员数 (虚线选择框)
.如果真 (数次 = 0)
返回 ()
.如果真结束
.计次循环首 (数次, 计次)
.如果 (虚线选择框 [计次].结束 (矩形) 且 放弃调整 = 假)
.判断开始 (选择状态 ≠ 9 且 选择状态 ≠ 0) ' 调整组件、移动
矩形.右边 = 矩形.右边 - 矩形.左边
矩形.底边 = 矩形.底边 - 矩形.顶边
加入成员 (移动矩形, 矩形)
.判断 (选择状态 = 0) ' 选择组件
选择指定范围组件 (父窗口句柄, 矩形)
.判断 (选择状态 = 9) ' 添加组件
' 重画调节块 (父窗口句柄)
动态组件.添加组件 (父窗口句柄, 0, 矩形, 选择组件)
显示调节块 (父窗口句柄)
.默认
重画指定调节块 (父窗口句柄, 选中组件 [计次])
.判断结束
.否则
.判断开始 (选择状态 ≠ 9 且 选择状态 ≠ 0 且 取数组成员数 (选中组件) = 1)
.如果真 (选择状态 = 9 或 选择状态 = 0 或 选择状态 = 10)
选择状态 = 0
.如果真结束
时钟1.时钟周期 = 1
重定义数组 (虚线选择框, 假, 0)
返回 ()
.默认
重画调节块 (父窗口句柄)
窗口类型 = 动态组件.取类型 (窗口句柄)
.如果真 (窗口类型 ≠ -1 且 窗口类型 ≠ 0)
加入成员 (选中组件, 窗口句柄)
.如果真结束
显示调节块 (父窗口句柄)
.判断结束
.如果结束
.计次循环尾 ()
重定义数组 (虚线选择框, 假, 0)
.计次循环首 (取数组成员数 (移动矩形), 计次)
设置窗口位置_ (选中组件 [计次], 0, 移动矩形 [计次].左边, 移动矩形 [计次].顶边, 移动矩形 [计次].右边, 移动矩形 [计次].底边, 4)
.计次循环尾 ()
_工具条2_被单击 (0)
选择状态 = 0
时钟1.时钟周期 = 1
.子程序 组件工具条
.参数 按钮索引, 整数型
.判断开始 (按钮索引 < 1)
指针句柄 = 载入鼠标指针_ (0, 32512)
选择状态 = 0
.默认
指针句柄 = 载入鼠标指针_ (0, 32515)
选择状态 = 9
.判断结束
.子程序 _时钟1_周期事件
.局部变量 坐标, 坐标_
.局部变量 方向快, 坐标_, , "0"
.局部变量 i
.局部变量 记录, 坐标_, 静态
取窗口内坐标 (动态组件.取主窗体句柄 (), 坐标, -1)
.如果真 (坐标.横向位置 = 记录.横向位置 且 坐标.纵向位置 = 记录.纵向位置)
返回 ()
.如果真结束
.如果真 (取数组成员数 (选中组件) = 1 且 选择状态 ≠ 10 且 选择状态 ≠ 9)
.计次循环首 (8, i)
方向快 = 取组件位置 (选中组件 [1]).方向快
.如果 (坐标.横向位置 ≥ 方向快 [i].横向位置 - 7 且 坐标.横向位置 ≤ 方向快 [i].横向位置 且 坐标.纵向位置 ≥ 方向快 [i].纵向位置 - 7 且 坐标.纵向位置 ≤ 方向快 [i].纵向位置)
选择状态 = i
指针句柄 = 载入鼠标指针_ (0, 取调整鼠标指针 (i))
记录 = 坐标
返回 ()
.否则
.如果真 (选择状态 ≠ i)
选择状态 = 0
.如果真结束
.如果结束
.计次循环尾 ()
.如果真结束
.如果真 (选择状态 = 0)
指针句柄 = 载入鼠标指针_ (0, 32512)
.如果真结束
记录 = 坐标
.子程序 __启动窗口_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.判断开始 (键代码 = #C键 且 功能键状态 = 1)
动态组件.复制 ()
.判断 (键代码 = #V键 且 功能键状态 = 1)
动态组件.粘贴 ()
.默认
.判断结束
易语言+可视化