Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
85a6aa93
energy
项目概览
energye
/
energy
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
energy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
85a6aa93
编写于
9月 18, 2023
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
demo: new-window
上级
79129f28
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
16 deletion
+16
-16
example/window/new-window/new-window.go
example/window/new-window/new-window.go
+15
-13
example/window/new-window/resources/index.html
example/window/new-window/resources/index.html
+1
-3
未找到文件。
example/window/new-window/new-window.go
浏览文件 @
85a6aa93
...
...
@@ -16,8 +16,8 @@ import (
"github.com/energye/energy/v2/cef"
"github.com/energye/energy/v2/cef/ipc"
"github.com/energye/energy/v2/cef/ipc/callback"
"github.com/energye/energy/v2/consts"
"github.com/energye/golcl/lcl"
"github.com/energye/golcl/lcl/types"
)
//go:embed resources
...
...
@@ -28,8 +28,9 @@ func main() {
cef
.
GlobalInit
(
nil
,
&
resources
)
//创建应用
app
:=
cef
.
NewApplication
()
//cefApp.SetExternalMessagePump(false)
//cefApp.SetMultiThreadedMessageLoop(false)
//强制使用VF窗口
app
.
SetExternalMessagePump
(
false
)
app
.
SetMultiThreadedMessageLoop
(
false
)
//指定一个URL地址,或本地html文件目录
cef
.
BrowserWindow
.
Config
.
Url
=
"fs://energy"
...
...
@@ -45,30 +46,31 @@ func main() {
ipc
.
Emit
(
"on-create-window-ok"
,
browser
.
Identifier
(),
window
.
Id
())
return
false
// 什么都不做
})
//浏览器窗口关闭回调, 在这里触发ipc事件通知主窗口
event
.
SetOnClose
(
func
(
sender
lcl
.
IObject
,
browser
*
cef
.
ICefBrowser
,
aAction
*
consts
.
TCefCloseBrowserAction
,
window
cef
.
IBrowserWindow
)
bool
{
ipc
.
Emit
(
"on-close-window"
,
window
.
Id
())
return
false
})
//---- ipc 监听事件
// 监听事件, 创建新窗口
ipc
.
On
(
"createWindow"
,
func
(
name
string
)
{
ipc
.
On
(
"create-window"
,
func
(
name
string
)
{
println
(
"create-window"
,
name
)
// 创建窗口常规属性对象
wp
:=
cef
.
NewWindowProperty
()
wp
.
Url
=
"fs://energy/new-window.html"
wp
.
Title
=
name
// 创建新的浏览器窗口
newWindow
:=
cef
.
New
LCL
BrowserWindow
(
nil
,
wp
)
newWindow
:=
cef
.
NewBrowserWindow
(
nil
,
wp
)
newWindow
.
SetWidth
(
800
)
newWindow
.
SetHeight
(
600
)
// EnableAllDefaultEvent 启用所有默认实现事件
// 如果未启用,所有事件需要你自己控制和实现, 大部分功能无法使用
newWindow
.
EnableAllDefaultEvent
()
newWindow
.
SetOnClose
(
func
(
sender
lcl
.
IObject
,
action
*
types
.
TCloseAction
)
bool
{
//窗口关闭时触发
ipc
.
Emit
(
"on-close-window"
,
newWindow
.
Id
())
return
false
// 不做处理
})
window
.
RunOnMainThread
(
func
()
{
// 在主线程中
newWindow
.
Show
()
println
(
"create-window show"
,
name
)
})
// 在主线程中
newWindow
.
Show
()
})
// 改变当前窗口大小
ipc
.
On
(
"resize"
,
func
(
_type
int
,
channel
callback
.
IChannel
)
{
...
...
example/window/new-window/resources/index.html
浏览文件 @
85a6aa93
...
...
@@ -5,9 +5,7 @@
<title>
new-window
</title>
<script>
function
createWindow
()
{
ipc
.
emit
(
"
createWindow
"
,
[
"
NewWindowName
"
+
new
Date
().
getTime
()],
function
(
windowId
)
{
});
ipc
.
emit
(
"
create-window
"
,
[
"
NewWindowName
"
+
new
Date
().
getTime
()]);
}
ipc
.
on
(
"
on-create-window-ok
"
,
function
(
id
)
{
document
.
getElementById
(
"
msg
"
).
innerText
=
"
窗口创建成功:
"
+
id
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录