2026-5-18		VB7Ctls.ocx	版本:1.1.0		Query控件，新增多语言显示功能，部分功能优化,与之前的1.0版本有部分不兼容。
2026-5-18		VB7.dll		版本:1.1.0		此版本有大量更新,与之前的1.0版本有部分不兼容。如已使用1.0版本程序开发，需微调处理。建议直接使用最新的1.1版本。

本次主要更新内容：
1.增加网格控件用户定义设置列宽，列位置功能。使用方法：拖动列宽后，自动保存列宽。先按住Alt键，然后按住鼠标左键，拖动列到需要的位置，窗体卸载时会保存列位置。重新打开窗体，会自动加载用户设置的列宽，列位置。

	Option Explicit

	Private m_blnLayoutChanged As Boolean '是否保存列宽列序
	Private Sub grdGrid_AfterUserResizeEnd(ByVal Row As Long, ByVal Col As Long)
	    SaveLayout Me, Me.grdGrid    'VBFlexGrid列宽度变化后，自动更新到数据库
	End Sub
	Private Sub Form_Unload(Cancel As Integer)
	        If m_blnLayoutChanged Then SaveLayout Me, Me.grdGrid         '同时保存列宽和列位置数据
	End Sub


	Sub Form_Load()
	    LoadLayout Me, Me.grdGrid '加载列宽列序
	End Sub

2.增加网格控件单击列标题自动排序功能。使用方法：点击列标题，会根据列数据类型，自动切换升序/降序。
	Private Sub grdGrid_BeforeMouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single, Cancel As Boolean)
		'使用 Alt+左键拖拽VBFlexGrid 的指定行/列位置
    		DragRowCol grdGrid, Button, Shift, X, Y, Cancel, m_blnLayoutChanged, True ' 列序发生变化时，m_blnLayoutChanged设置为True
	End Sub

3.优化控件多国语言及控件权限资源加载方法，从集中加载资源，优化为按需加载。极大的提高了登录速度和界面打开速度。调用方法不变。支持10种主要语言，可根据需要扩充更多语言。支持界面语言及字符语言自动翻译功能。

4.优化自定义自动编号：从cDBADO中移除GetAutoNumber方法 ，简化为为静态函数， 直接使用函数名称调用: GetAutoNumber ' 功能描述: 生成基于规则的自动编号（ 线程安全，支持高并发），用户登录后才能使用。

5.物料窗体新增文件管理：可以上传，下载，删除物料相关的文件，可以在线预览图片。例：产品关联的图片。

6.SQLite新增模块：
 	SQLite数据库转换器类(SQLiteConverter)，提供从ADO连接（Access.mdb或ADO记录集）转换到SQLite数据库的功能，支持表结构迁移、数据导入和索引重建，提供进度事件反馈。
    	SQLite数据库操作类(SQLiteDB)，提供高性能参数化查询、事务处理和数据集访问，支持位置参数和命名参数绑定。
	SQLite数据库更新版本：3.51.3
7.新增动态数组列表类模块cArrayList，包括添加、删除、排序、二分查找、批量操作等功能，支持索引默认属性访问和容量自动管理。

8.取消窗体创建中的工具按钮栏选择，由预置窗体工具栏按钮替代，仅显示常用工具栏按钮，其余按钮隐藏，可根据需要设置显示。

9.提供初始化的VB7数据库，数据库内仅保留平台所需必要数据，方便从全新状态开始开发自己所需的系统。

10.全局通用公共类模块(cCommon)新增公开常用函数110个，cCommon 类模块中的所有 Public 方法无需 New 关键字，可直接通过函数名（如 GetUserName）或 cCommon.函数名 调用。
新增函数110个：
1. AccelCharCode – 从字符串中提取加速键字符代码
2. AppEXEName – 返回应用程序可执行文件名（不含扩展名）
3. AppMajor – 返回应用程序主版本号
4. AppMinor – 返回应用程序次版本号
5. AppPath – 返回应用程序路径（以反斜杠结尾）
6. AppRevision – 返回应用程序修订版本号
7. BitmapHandleFromPicture – 从 IPicture 对象提取位图句柄
8. CenterFormToScreen – 将窗体居中到屏幕或参考窗体（Sub）
9. CHimetricToPixelX – 将 HIMETRIC 单位转换为水平像素
10. CHimetricToPixelY – 将 HIMETRIC 单位转换为垂直像素
11. CIntToUInt – 有符号 Integer 转无符号 Long
12. CloneGDIFont – 克隆 GDI 字体句柄
13. CloneOLEFont – 克隆 OLE 字体对象
14. CLngToULng – 有符号 Long 转无符号 Double
15. Command – 返回命令行参数（去掉程序名）
16. CreateGDIFontFromOLEFont – 根据 OLE 字体创建 GDI 字体句柄
17. CUIntToInt – 无符号 Long 转有符号 Integer
18. CULngToLng – 无符号 Double 转有符号 Long
19. CurrentUTC – 返回当前协调世界时（UTC）
20. Dir – 返回匹配路径和属性的文件名或目录名
21. DpiX – 返回屏幕水平 DPI
22. DpiY – 返回屏幕垂直 DPI
23. DPICorrectionFactor – 返回 DPI 校正因子（用于缩放）
24. FileDateTime – 返回文件最后修改日期时间
25. FileExists – 判断文件是否存在
26. FileLen – 返回文件长度（字节），支持大文件
27. FlashForm – 闪烁窗体标题栏和任务栏按钮（Sub）
28. FromJulianDay – 儒略日转 OLE 自动化日期
29. FromUnixEpoch – Unix 时间戳转 OLE 自动化日期
30. FromUTC – 协调世界时转本地时间
31. GetAttr – 返回文件属性掩码
32. GetClipboardText – 获取剪贴板文本（Unicode）
33. GetDecimalChar – 返回系统小数点分隔符
34. GetFormNonScaleHeight – 返回窗体非客户区高度
35. GetFormTitleBarHeight – 返回窗体标题栏高度
36. GetMouseState – 返回当前鼠标按键状态（逻辑按键）
37. GetMouseStateFromMsg – 从消息中获取鼠标按键状态
38. GetMouseStateFromParam – 从消息 wParam 提取鼠标按键状态
39. GetNumberGroupDigit – 返回系统数字分组分隔符
40. GetShiftState – 返回 Shift/Ctrl/Alt 键状态
41. GetShiftStateFromMsg – 从消息中获取 Shift 键状态
42. GetShiftStateFromParam – 从消息 wParam 提取 Shift 键状态
43. GetSystemDir – 返回系统目录路径（如 C:\Windows\System32）
44. GetTopUserControl – 返回最顶层的用户控件对象
45. GetWindowClassName – 返回窗口类名
46. GetWindowTitle – 返回窗口标题文本
47. GetWindowsDir – 返回 Windows 目录路径
48. GetWheelDeltaWParam – 从鼠标滚轮消息 wParam 提取滚动增量
49. GetXlParam – 从消息 lParam 提取 X 坐标
50. GetYlParam – 从消息 lParam 提取 Y 坐标
51. HasClipboardText – 判断剪贴板是否包含文本
52. HiByte – 返回整数的高位字节
53. HiWord – 返回长整数的高位字
54. InIDE – 判断是否在 IDE 开发环境中运行
55. IsArrayInitialized – 判断数组是否已初始化
56. IsFormLoaded – 判断窗体是否已加载
57. IsNaN – 判断表达式是否为 NaN
58. KeyPressed – 判断按键是否被按下（异步状态）
59. KeyToggled – 判断按键切换状态（如 Caps Lock）
60. LoByte – 返回整数的低位字节
61. LoWord – 返回长整数的低位字
62. MakeDWord – 由两个 16 位字组合成 32 位长整数
63. MakeWord – 由两个字节组合成 16 位整数
64. MakeXYlParam – 由 X、Y 坐标组合成 lParam 参数值
65. MkDir – 创建目录（Sub）
66. MousePointerID – 根据 VB 鼠标指针常量返回系统光标 ID
67. MsgBox – 显示消息框（替代内置 MsgBox）
68. NaN – 返回 NaN 双精度浮点值
69. NaN32 – 返回 NaN 单精度浮点值
70. OLEFontIsEqual – 比较两个 OLE 字体对象是否相等
71. PictureFromByteStream – 从字节流创建 IPictureDisp 对象
72. PictureFromHandle – 从图片句柄创建 IPictureDisp 对象
73. PictureFromPath – 从文件路径加载图片
74. PixelsPerDIPX – 返回水平方向每 DIP 对应的物理像素数
75. PixelsPerDIPY – 返回垂直方向每 DIP 对应的物理像素数
76. ProcPtr – 返回过程地址（用于回调或函数指针）
77. ProperControlName – 返回控件的带索引完整名称
78. PtrToObj – 将对象指针转换为对象引用
79. RefreshMousePointer – 刷新指定窗口的鼠标指针形状（Sub）
80. RenderPicture – 在设备上下文中渲染 IPicture 图片（Sub）
81. RmDir – 删除空目录（Sub）
82. SendKeys – 模拟发送键盘按键（Sub）
83. SetAttr – 设置文件属性（Sub）
84. SetClipboardText – 将文本设置到剪贴板（Unicode）（Sub）
85. SetWindowRedraw – 启用或禁用窗口重绘（Sub）
86. StrToVar – 将字符串转换为字节数组变体
87. ToJulianDay – OLE 自动化日期转儒略日
88. ToUnixEpoch – OLE 自动化日期转 Unix 时间戳
89. ToUTC – 本地时间转协调世界时（UTC）
90. UnsignedAdd – 无符号指针加法（处理溢出）
91. UnsignedSub – 无符号指针减法（处理下溢）
92. UTF16ToUTF8 – UTF-16 字符串转 UTF-8 字节数组
93. UTF32CodePointToUTF16 – Unicode 码点转 UTF-16 字符串
94. UTF8ToUTF16 – UTF-8 字节数组转 UTF-16 字符串
95. VarToStr – 字节数组变体转字符串
96. WinColor – VB 颜色值转 Windows API 的 COLORREF 值
97. GetHMAC – 计算 HMAC（SHA-256/512），支持十六进制密钥、大小写及拆分格式
98. GetSHA – 计算字符串 SHA 哈希（224/256/384/512），可选大小写拆分
99. GetMD5ByString – 计算字符串的 MD5 哈希，可选大小写拆分
100. GetMD5ByFile – 计算文件的 MD5 哈希，可选大小写拆分
101. GetMD5ByBytes – 计算字节数组的 MD5 哈希，可选大小写拆分
102. FlexGridColumnSort – VBFlexGrid 表头点击排序（自动升序/降序）
103. DragRowCol – Alt+鼠标左键拖拽 VBFlexGrid 的行/列
104. LoadLayout – 加载 FlexGrid 的列序和列宽布局
105. SaveLayout – 保存 FlexGrid 的列序和列宽布局
106. LoadPermit – 加载窗体控件权限（按钮/文本框等）
107. LoadLanguageSQLite – 从 SQLite 加载多国语言到窗体控件
108.ReLayout – 重置布局：同时删除FlexGrid列序和列宽。删除 SQLite 数据库中窗体名对应的 ColPosition 和 ColWidth 数据
109.GetUserLanguage – 获取当前用户语言文本
110.GetUserLanguageNumber –获取用户语言数字


https://www.vb7.ltd

VB7更新日志
2026-3-15	1.0.3	VB7.dll	新增MD5加密函数：GetMD5ByString，GetMD5ByBytes，GetMD5ByFile。补充类库的模块，方法，属性，事件说明文档。
2026-3-14	1.0.2	VB7.dll	新增SHA加密函数：GetHMAC， GetSHA函数
2026-3-08	1.0.1	VB7.dll	新增控件及菜单权限，优化部分功能。增加开发示例。
2026-2-6	1.0.0		VB7公开发布