Releases: twgh/xcgui
Releases · twgh/xcgui
v1.3.398
v1.3.397
v1.3.396
一、新增函数
// common
IntToBool
AtoUint32
Uint32ToA
SliceIndexOf
Choose
ChooseValue
// xc
OffsetRect
Anima_MoveExT
Anima_RotateExT
Anima_AlphaExT
Anima_ColorExT
// wapi
SHCreateStreamOnFileEx
二、其他
- 颜色值改为 uint32 类型
- 适配了 386 架构
- 修复了一些 WebView 的问题
- 修正三个月历常量值:
MonthCal_State_Flag_Item_Last_Month,MonthCal_State_Flag_Item_Cur_Month,MonthCal_State_Flag_Item_Next_Month
v1.3.395
一、新增函数
// app
Init // 写出 xcgui.dll 到 windows 临时目录中 'xcgui+版本号+_编译时的目标架构+_CRC32' 文件夹里
InitOrExit // 写出 dll 出错会弹窗提示错误原因并退出程序
// widget
NewGifPlayer
// common
ExtractGifFrames
GetProcessName
GetProcessNameWithoutExt
BoolToString
StringToBool
BoolToInt
// xc
IsUiThread
CallUTAny // 调用界面线程, 可传任意类型参数
Auto // 自动判断是否在UI线程以决定是否调用界面线程来执行回调函数
AutoInt
AutoAny
DpiConvRound // 将 int32 类型的整数根据窗口 dpi 进行换算, 计算结果会四舍五入
XShapeGroupBox_GetText
XFrameWnd_GetDock
XPane_GetTabBar
XPane_GetSplitBar
XPane_GetButton
XPane_ShowButton
XTemp_Get
XBtn_ClearAnimation
XDraw_GetD2dBitmap
// wapi
CoInitializeEx
CoCreateInstance
AdjustWindowRect
SetWindowText
GetClientRect
SHCreateMemStream
GetAsyncKeyState
GetCurrentThreadId
SetCursor
GetWindowRect
CoTaskMemFree
GetModuleFileName
CreateRoundRectRgn
SetWindowRgn
IsOK // 检查 error 是否为 S_OK
IsOkOrPanic
// wnd
SetWindowRound
// wutil
IsKeyPressed // 判断按键是否按下
IsComboKey // 判断组合键是否按下
二、新增 WebView 组件, 可创建到炫彩窗口或元素
当前库中使用的 Webview2 运行时版本号是 140.0.3485.44.
高版本运行时是兼容低版本的,低版本运行时不用高版本的方法也没有问题。
下载或更新运行时,安装时要使用管理员权限运行。
// 创建 webview 环境
edg, err := edge.New(edge.Option{
UserDataFolder: os.TempDir(),// 自己的软件应该在固定位置创建一个自己的目录, 而不是用临时目录
})
if err != nil {
wapi.MessageBoxW(0, "创建 webview 环境失败: "+err.Error(), "错误", wapi.MB_OK|wapi.MB_IconError)
os.Exit(1)
}
// 创建 webview 到窗口
wv, err := edg.NewWebView(w.Handle, edge.WebViewOption{
edge.WithFillParent(true),
})
// 导航到指定网页
wv.Navigate("https://www.baidu.com")更多例子可查看 xcgui-example 仓库。
三、新增 AddEvent 的方式添加事件
此类方法事件回调函数可随意使用匿名函数, 且不用担心 Go 2000 个回调函数上限的限制
四、其他
- 内置了 dll, 只需在
app.New前使用app.Init或app.InitOrExit就无需再考虑 dll 如何携带了 - 支持的最低 go 版本升级为 1.18
- 界面库初始化时内部直接调用了
runtime.LockOSThread(), 无需手动调用了 - 增加元素系统按键按下/弹起事件
Event_SYSKEYDOWN - 公开
wapi包的 dll 模块, 方便自行调用未封装的 windows api Event_MENU_SELECT1的参数nID改为int32类型- 修改
XMsg_CreateEx的前两个参数类型
v1.3.394
一、新增函数
// wapi
MoveWindow
SetParent
ShowWindow
UpdateWindow
SetFocus
GetClassName
EnumWindows
IsWindowVisible
GetParent
PeekMessage
GetSystemMetrics
GetWindowThreadProcessId
RegisterClassEx
DefWindowProc
CreateWindowEx
GetModuleHandleEx
PostThreadMessage
IsDialogMessage
GetAncestor
DestroyWindow
// wutil
GetWindows
GetScreenWidth
GetScreenHeight
二、新项目 XWebView 已发布
为 xcgui 项目定制的 webciew2 组件: https://github.com/twgh/xwebview
v1.3.393
一、新增函数
XWnd_DestroyWindow
XC_SetD2dTextAntialiasMode
XC_IsInit
XTable_SetItemTextEx
XTable_GetRowCount
XTable_GetColCount
DpiConv
Ftoa
Atof
wapi.SetWindowLongPtrW
wapi.GetWindowLongPtrW
wutil.OpenFileEx
wutil.SaveFileEx
二、其他
- 增加窗口样式相关常量: xcc.WS_
- 增加窗口扩展样式相关常量: xcc.WS_EX_
- 窗口基类增加 GetRectDPI 方法
- 优化 wutil.SaveFile/OpenFile 相关代码
- 修复一些UI元素DPI支持不完善的问题
- 修复显示器分辨率低, 弹出菜单超出屏幕顶部问题
- xcgui.dll 更新了, 需要下载新的
三、xcgui.dll-3.3.9.1
x64
文件大小: 3.10 MB (3,255,808 字节)
MD5: 608D2EBCA30ED18429E7A49C55F88F75
x86
文件大小: 2.43 MB (2,548,736 字节)
MD5: 4334EF1C346044D00B5AC3B890E43400
v1.3.392
v1.3.391
一、新增函数
xc.Itoa //将int32转换到string
xc.Atoi //将string转换到int32
wutil.NewHookKeyboard //创建全局键盘钩子
wutil.NewHookMouse //创建全局鼠标钩子
二、其他
- 应该用int32类型的参数已经全部更改完毕, 以前用int是历史遗留问题。
- 第一个影响是原来用strconv包来转换int的现在可能要用xc包的来转换了。
- 第二个影响是原本
for i := 0, 可能要改用for i := int32(0), 因为循环内的函数现在可能要用int32的索引。 - wParam和lParam改为uintptr类型,影响了几个事件回调函数定义。
- 其实我自己的项目包括例子仓库看了下也没改几个地方,影响应该不大。
v1.3.390
一、新增函数
XC_EnableAutoRedrawUI //炫彩_启用自动重绘UI
XC_GetHandleCount //炫彩_取句柄总数
XEdit_ClipboardCopyAll //编辑框_剪贴板复制
XFrameWnd_SetLayoutMargin //框架窗口_置布局外间距
XList_AddColumnText2 //列表_添加列文本2
XList_AddColumnImage2 //列表_添加列图片2
XList_CreateAdapters //列表_创建数据适配器2
XPGrid_EnableExpandCurGroupOnly
二、其他
- 开放虚表功能。
- 布局固定坐标支持负数。
- 加载布局文件, 首次自动处理按钮绑定的元素显示隐藏。
- 按钮绑定元素, 新增支持[名称], 以前只支持ID。
- 部分函数名中的项改为行(item->row), 旧版函数还保留。
- 类中没有返回值的方法返回对象自身, 以便链式调用。
三、xcgui.dll-3.3.9.0
x64
文件大小: 2.80 MB (2,941,952 字节)
MD5: FB8CCDCEE2F09BB1B1597CAFB12EE99C
x86
文件大小: 2.31 MB (2,426,368 字节)
MD5: 740C477DF7725896E509F75DA974FF3B