文档手册

更新日志

2024-05-14 09:23:37

### 2.4.1 - 2024-05-06

    1. 修改所有演示的syso文件

    2. 更新:添加JS ipc.emit以触发Go事件同步模式配置选项,默认值:MSync

    3. 更新:优化全屏和最大化窗口之间的冲突。

    4. 新增:演示无界面 headless

    5. 更新:命令行清单requestedExecutionLevel => asInvoker

    6. 更新:命令行添加生成Windows > 图标,syso命令

// go: 异步监听模式
ipc.On("name", func(){
	// ...
}, ipcTypes.OnOptions{Mode: ipcTypes.MAsync})


### 2.4.0

此版本与2.3.x不兼容。

  1. U: 在LCLBrowserWindow和ViewsFrameworkBrowserWindow中,添加函数ChromiumBrowser() ICEFChromiumBrowser

  2. U: 重命名,ipc.emitSync => ipc.emitWait,此触发器具有超时配置

  3. A: Linux arm64演示startup.sh

  4. U: energy命令版本1.0.6,安装golang默认版本1.19.13

  5. A: 添加gif播放组件

  6. U: 将TCEFWindowComponent.SetOnGetTitleBarHeight参数titleBarHeight改为*float32

  7. A: 扩展,misc_functions api

  8. U: MacOS UI异步线程运行函数

  9. U: 使用RunOnMainThread时确定IsMessage Loop的逻辑

  10. 修复:vf tary窗口状态控制

  11. U: 移除MainFormOnTaskBar配置,并在任务栏不显示时使用Enabling MainWindow配置

  12. U: 所有演示,windows导入syso

  13. 修复:使用VF应用程序init。RunOnMainThread VF使用ThreadSync UI。ChromiumBrowser LCLBrowserWindow nil错误。

  14. U: Go执行IPC监听事件改为异步执行

  15. U: 空门时的条件判断

  16. U: browserConfig > BrowserConfig

  17. U: IPC NewTarget IWindow > 添加Chromium

  18. U: Chromium所有事件回调参数NativeUInt类型指针传递

  19. A: Chromium SendDevToolsMessage函数,ExecuteDevToolsMethod添加Result messageId

  20. A&U: 示例


### 2.3.8

  1. 修复:Chromium事件回调参数指针值

  2. U: 调整主窗口设置的时机

  3. U: 调整默认实现事件到chrrimbrowser结构

  4. 修复:在窗口中自定义Chromium布局时,无法拖动改变窗口大小

  5. U: 能量自定义菜单修改

  6. U: 命令行,windows构建写[app].manifest到磁盘

  7. 修复:能量自定义事件,弹出窗口事件仅触发一次问题

  8. 修复:窗口最小、最大尺寸bug

  9. 修复:cmd下载cef-framework文件名

  10. U: 修改一些示例



### 2.3.7

  1. 修复:窗口最小、最大尺寸bug

  2. 修复:能量自定义事件,弹出窗口事件仅触发一次问题


### 2.3.6

1. MacOS 增加 touch bar 支持, 和touchbar示例

1. MacOS 无标题栏窗口状态控制

1. 删除示例下的多于icon资源文件

1. 增加 ipc 多窗口通信示例

1. 修改托盘示例

1. 增加LCL支持主窗口配置,关闭主窗口后,如果在多窗口时直到最后一个窗口关闭才退出应用

1. 增加WindowsXP SP3支持

1. 修改部分API字符串使用TString类

1. 为了支持Go的底版本将所有any类型改为interface类型

1. energy最底支持Go1.11版本

1. 修复chromium相关事件回调函数参数

1. 增加部分API判断, 对CEF API不支持CEF49, 未判断完全,但不影响,CEF49支持的API不如CEF新版本的多

1. 命令行工具优化,未增加对WindowsXP的安装,目前WindowsXP需要手动安装

1. 命令工具增加bindata命令,当Go版本小于1.16时,为支持Embed内嵌资源接口

1. 优化LCL托盘可以同时创建多个

1. 增加一些energy还未实现的CEF API

1. 优化预先创建下一个子弹出窗口

1. 修复一些错误,记录结构类型调用 API 时传递指针错误问题


### 2.3.5

1. 修改所有*.go文件名 中横线 -, 改为下划线 _

1. 修改独立子进程示例

1. 增加一窗口多Chromium示例

1. 升级 liblclbinres v2.3.5

1. 修复readme.me一些错误描述

1. 修改ipc, net socket 端口号默认随机获取, net socket 在Windows10 Build < 17063 版本开启, 原固定19878端口

1. 调整命令行工具编译命令

1. 编译内置dll调整

     windows:
         386: -tags="tempdll latest"
         amd64: -tags="tempdll latest"
     windows(Windows 7, 8/8.1 and Windows Server 2012):
         386: -tags="tempdll 109"
         amd64: -tags="tempdll 109"
     linux(gtk3):
         amd64: -tags="tempdll latest"
         arm64: -tags="tempdll latest"
     linux(gtk2):
         amd64: -tags="tempdll 106"
         arm64: -tags="tempdll 106"
     macos:
         amd64: -tags="tempdll latest"
         arm64: -tags="tempdll latest"


### 2.3.4

1. 升级 118.7.1

1. 修改了Get和Set同一属性过程使用

1. 增加 GlobalCEFApp.ChromePolicyId

1. 移除 Browser, Chromium accept_language_list

1. 增加 TChromiumOptions.ChromeZoomBubble

1. 增加 TChromium.IncZoomCommand

1. 增加 TChromium.DecZoomCommand

1. 增加 TChromium.ResetZoomCommand

1. 增加 TChromium.DefaultZoomLevel

1. 增加 TChromium.CanIncZoom

1. 增加 TChromium.CanDecZoom

1. 增加 TChromium.CanResetZoom

1. 增加 TChromium.Fullscreen

1. 增加 TChromium.ExitFullscreen

1. 增加 ICefDragData.GetFilePaths



1. 添加 https://crbug.com/1500371 https://bitbucket.org/chromiumembedded/cef/commits/99817d2d3ebf5983ea4491f8770ef1e581554f91 解决方法

1. 在全屏窗口退出时更新 CSS(修复 #3597) https://bitbucket.org/chromiumembedded/cef/commits/9d1cdd020f4bc877cb9675afeed439c6e4749ec2

1. 在调整边框大小之前对 PiP 可拖动区域进行命中测试(请参阅问题 #3566) https://bitbucket.org/chromiumembedded/cef/commits/38848f1780ea59b8b8819e06250b25aacd5c45c6


### 2.3.3

优化和修复一些问题

1. LCL无边框窗口, 点击任务栏不能切换窗口问题

1. WndProc 回调函数,修改&增加winapi函数,增加 HDWP 类型

1. 增加 lcl 窗口配置函数: 扩展事件-SetOnWndProc, SetOnPaint, 边框Frameless,FramelessForLine, SetRoundRectRgn

1. windows, lcl 窗口调整屏幕缩放比拖拽区域计算位置不正确问题

1. 创建 Application 初始化配置增加默认开启GPU加速

1. 移除生成图标示例修改部分示例


### 2.3.2

1. LCL无边框窗口, 点击任务栏不能切换窗口问题

1. WndProc 回调函数,修改&增加winapi函数,增加 HDWP 类型

1. 增加 lcl 窗口配置函数: 扩展事件-SetOnWndProc, SetOnPaint, 边框Frameless,FramelessForLine, SetRoundRectRgn

1. windows, lcl 窗口调整屏幕缩放比拖拽区域计算位置不正确问题

1. 创建 Application 初始化配置增加默认开启GPU加速

1. 移除生成图标示例修改部分示例


### 2.3.1

1.  增加底层动态库异常捕获, 仅Windows, MacOS

1.  升级CEF从109直接跳到117, 110~116版本的liblcl构建跳过, 此时会增加和移除一些api

1.  升级命令行工具1.0.2,增加兼容Windows7 CEF109

1.  增加底层库windows, macos异常捕获

1.  energy 底层依赖库自动化构建和发布

1.  增加一些示例:屏幕截取,模拟事件,IPC Go to Go。

1.  修复一些已知问题


升级 liblcl v2.3.1



### 2.3.0

1. 主要:

1. 2.3.0 对部分回调函数做出调整,主要增加了 cef.IBrowserWindow 当前窗口参数


1. 增加 静态资源使用本地或内置资源加载, 暂时不能加载视频资源。

1. 本地或内置资源加载,xhr 代理请求配置支持ssl

1. 修复 linux(高版本) gtk3(默认)加载动态库错误问题。

1. 修复 linux gtk3 无法切换英文问题,

1. 优化 Mac开发环境 energy_env=dev > env=dev


其它:

1. 完善命令行工具

1. 优化 install 开发环境全自动安装:

1. 增加 init 应用项目初始化

1. 增加 build 构建&编译应用执行文件

1. 增加 package 制作应用安装包

1. 依赖库升级

1. golcl v1.0.7

1. liblcl v1.0.4


修复其它已知问题


### 2.2.4

1. 增加常用示例

1. 增加窗口焦点

1. 同步govcl库和liblcl库

1. 升级命令行工具

1. 增加 linux arm 架构二进制包


### 2.2.3

    0.U: liblclbinres v1.0.2

  1. U: 演示主浏览器窗口

  2. U: 返回值(float32)方法

  3. A: 演示窗口IScreen

  4. A: 窗口IScreen

  5. A: displayRef处理程序API

  6. 修复:多显示窗口居中问题

  7. U: 演示方案

  8. U: 演示弹出子窗口椭圆形

  9. U: 优化自定义窗口拖放创建逻辑

  10. 修复:潜在问题,处理程序API返回字符串错误

  11. 修复:v8value错误,字符串值错误

  12. U: 演示无边框窗口

  13. A: 窗口,全屏模式,添加通用属性

  14. U: 演示无边框窗口

  15. U: 浏览器窗口,全屏

  16. U: 演示窗口状态

  17. U: 演示无边框,全屏

  18. U: 窗口状态

  19. U: Chromium上下文菜单命令回调

  20. U: 上下文菜单

  21. A: 打开标签URL回调事件

  22. U: 演示liblcl自动更新,Linux lcl小部件初始化

  23. U: tempdll README.md

  24. U: 生成libbin

  25. A: 能量命令行,设置能量框架开发环境

  26. U: 能量命令行,支持Linux选择gtk2或gtk3框架

  27. U: 移除CustomWidgetSetFinalization

  28. U: 演示上下文菜单

  29. U: LCL CloseBrowserWindow RunOnMainThread

  30. A: 在消息绘制

  31. U: 在消息结构上

  32. U: 演示测试

  33. A: TForm WM Message - > NotifyMoveOrResizeStarted

  34. A: TForm WM Message

  35. 修复:aux-viewsource,Linux

  36. U: 演示,UI使用gtk3,IconFS = xxx.png,其他IconFS = xxx.ico

  37. A: 对CEF 106.1.1提供gtk2支持


### 2.2.2

1. 修改和优化已知问题

1. https://gitee.com/energye/energy/commits/v2.2.2


### 2.2.1

  1. U: 演示消息框

  2. A: Windows演示自定义浏览器创建

  3. U: .gitattributes

  4. U: 为Mac加载liblcl的tempdll

  5. A: 演示tempdll

  6. A: 使用go build -tags="tempdll"打开TempDLL,导入liblclbinres。

  7. U: 窗口拖动开关

  8. U: 窗口拖动解释

  9. U: 查看源代码

  10. A: 演示拖动文件

  11. R: 移除BrowserWindow.Config.EnableWebkitAppRegion

  12. A: 演示自定义拖动窗口

  13. U: LCL自定义拖动

  14. U: 为Mac的演示无边框窗口,不隐藏标题栏

  15. U: 为Mac的LCL窗口关闭,1.显示,2.隐藏

  16. U: 演示

  17. U: 移除const.IsMessageLoop,添加application.IsMessageLoop()

  18. U: 消息常量

  19. 合并分支'main'到'dev'

  20. U: Win32常量,cefwinapi

  21. 更新README.zh_CN.md

  22. 更新README.md

  23. A: LCL自定义窗口拖动

  24. A: FramelessForDefault

  25. A: CEF文件对话框

  26. 修复:Chromium和DialogHandler onFileDialog回调参数args:acceptFiltersList

  27. A: 4种系统托盘演示

  28. A: Windows无边框控制窗口边框

  29. U: 演示-Windows透明


### 2.2.0-beta

1. 增加 browser RunFileDialog 回调函数, 该功能是使用CEF打开选择文件弹窗

1. 增加 DownloadImage 回调函数

1. 增加 CEF的 MenuModel、View、Button、LabelButton、MenuButton、Panel、textfield 组件相关 Api

1. 重命名示例目录名

1. 增加 其它功能处理回调函数

1. 修改底层实现类变更接口

1. v2.2.0开始兼容老版本CEF 87 ~ 89, 新版本最低兼容到109

1. 优化energy框架中的window相关事件