Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
b8cfbc1b
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 搜索 >>
提交
b8cfbc1b
编写于
2月 14, 2023
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化窗口状态变化
上级
fab1c6b6
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
46 addition
and
12 deletion
+46
-12
cef/cef-browser-window-lcl.go
cef/cef-browser-window-lcl.go
+5
-1
cef/cef-browser-window-lcl_other.go
cef/cef-browser-window-lcl_other.go
+5
-5
cef/cef-browser-window-lcl_windows.go
cef/cef-browser-window-lcl_windows.go
+4
-4
cef/cef-browser-window-views-framework.go
cef/cef-browser-window-views-framework.go
+19
-2
cef/cef-browser-window.go
cef/cef-browser-window.go
+1
-0
cef/cef-types-window.go
cef/cef-types-window.go
+12
-0
未找到文件。
cef/cef-browser-window-lcl.go
浏览文件 @
b8cfbc1b
...
@@ -50,7 +50,7 @@ type LCLBrowserWindow struct {
...
@@ -50,7 +50,7 @@ type LCLBrowserWindow struct {
auxTools
*
auxTools
//辅助工具
auxTools
*
auxTools
//辅助工具
tray
ITray
//托盘
tray
ITray
//托盘
hWnd
types
.
HWND
//
hWnd
types
.
HWND
//
window
sState
types
.
TWindowState
//
window
State
types
.
TWindowState
//窗口状态
cwcap
*
customWindowCaption
//自定义窗口标题栏
cwcap
*
customWindowCaption
//自定义窗口标题栏
}
}
...
@@ -515,6 +515,10 @@ func (m *LCLBrowserWindow) Minimize() {
...
@@ -515,6 +515,10 @@ func (m *LCLBrowserWindow) Minimize() {
})
})
}
}
func
(
m
*
LCLBrowserWindow
)
Restore
()
{
m
.
SetWindowState
(
types
.
WsNormal
)
}
// 关闭带有浏览器的窗口
// 关闭带有浏览器的窗口
func
(
m
*
LCLBrowserWindow
)
CloseBrowserWindow
()
{
func
(
m
*
LCLBrowserWindow
)
CloseBrowserWindow
()
{
if
m
.
TForm
==
nil
{
if
m
.
TForm
==
nil
{
...
...
cef/cef-browser-window-lcl_other.go
浏览文件 @
b8cfbc1b
...
@@ -16,7 +16,7 @@ import (
...
@@ -16,7 +16,7 @@ import (
"github.com/energye/golcl/lcl/types"
"github.com/energye/golcl/lcl/types"
)
)
//TODO no
//
TODO no
type
customWindowCaption
struct
{
type
customWindowCaption
struct
{
bw
*
LCLBrowserWindow
bw
*
LCLBrowserWindow
regions
*
TCefDraggableRegions
regions
*
TCefDraggableRegions
...
@@ -26,7 +26,7 @@ func (m *customWindowCaption) free() {
...
@@ -26,7 +26,7 @@ func (m *customWindowCaption) free() {
//TODO no
//TODO no
}
}
//显示标题栏
//
显示标题栏
func
(
m
*
LCLBrowserWindow
)
ShowTitle
()
{
func
(
m
*
LCLBrowserWindow
)
ShowTitle
()
{
if
m
.
TForm
==
nil
{
if
m
.
TForm
==
nil
{
return
return
...
@@ -34,7 +34,7 @@ func (m *LCLBrowserWindow) ShowTitle() {
...
@@ -34,7 +34,7 @@ func (m *LCLBrowserWindow) ShowTitle() {
m
.
TForm
.
SetBorderStyle
(
types
.
BsSizeable
)
m
.
TForm
.
SetBorderStyle
(
types
.
BsSizeable
)
}
}
//隐藏标题栏
//
隐藏标题栏
func
(
m
*
LCLBrowserWindow
)
HideTitle
()
{
func
(
m
*
LCLBrowserWindow
)
HideTitle
()
{
if
m
.
TForm
==
nil
{
if
m
.
TForm
==
nil
{
return
return
...
@@ -50,7 +50,7 @@ func (m *LCLBrowserWindow) registerWindowsCompMsgEvent() {
...
@@ -50,7 +50,7 @@ func (m *LCLBrowserWindow) registerWindowsCompMsgEvent() {
func
(
m
*
LCLBrowserWindow
)
setDraggableRegions
()
{
func
(
m
*
LCLBrowserWindow
)
setDraggableRegions
()
{
}
}
//for other platform maximize and restore
//
for other platform maximize and restore
func
(
m
*
LCLBrowserWindow
)
Maximize
()
{
func
(
m
*
LCLBrowserWindow
)
Maximize
()
{
if
m
.
TForm
==
nil
{
if
m
.
TForm
==
nil
{
return
return
...
@@ -61,7 +61,7 @@ func (m *LCLBrowserWindow) Maximize() {
...
@@ -61,7 +61,7 @@ func (m *LCLBrowserWindow) Maximize() {
if
m
.
windowProperty
==
nil
{
if
m
.
windowProperty
==
nil
{
m
.
windowProperty
=
&
WindowProperty
{}
m
.
windowProperty
=
&
WindowProperty
{}
}
}
if
bs
==
types
.
BsNone
||
bs
==
types
.
BsSingle
{
//不能调整窗口大,所以手动控制窗口
大小
if
bs
==
types
.
BsNone
||
bs
==
types
.
BsSingle
{
//不能调整窗口大,所以手动控制窗口
状态
var
ws
=
m
.
WindowState
()
var
ws
=
m
.
WindowState
()
var
redWindowState
types
.
TWindowState
var
redWindowState
types
.
TWindowState
//默认状态0
//默认状态0
...
...
cef/cef-browser-window-lcl_windows.go
浏览文件 @
b8cfbc1b
...
@@ -202,8 +202,8 @@ func (m *LCLBrowserWindow) doOnRenderCompMsg(message *types.TMessage, lResult *t
...
@@ -202,8 +202,8 @@ func (m *LCLBrowserWindow) doOnRenderCompMsg(message *types.TMessage, lResult *t
*
lResult
=
HTCAPTION
*
lResult
=
HTCAPTION
*
aHandled
=
true
*
aHandled
=
true
win
.
ReleaseCapture
()
win
.
ReleaseCapture
()
m
.
window
s
State
=
m
.
WindowState
()
m
.
windowState
=
m
.
WindowState
()
if
m
.
window
s
State
==
types
.
WsNormal
{
if
m
.
windowState
==
types
.
WsNormal
{
rtl
.
PostMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_MAXIMIZE
,
0
)
rtl
.
PostMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_MAXIMIZE
,
0
)
}
else
{
}
else
{
rtl
.
PostMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_RESTORE
,
0
)
rtl
.
PostMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_RESTORE
,
0
)
...
@@ -303,8 +303,8 @@ func (m *LCLBrowserWindow) Maximize() {
...
@@ -303,8 +303,8 @@ func (m *LCLBrowserWindow) Maximize() {
}
}
QueueAsyncCall
(
func
(
id
int
)
{
QueueAsyncCall
(
func
(
id
int
)
{
win
.
ReleaseCapture
()
win
.
ReleaseCapture
()
m
.
window
s
State
=
m
.
WindowState
()
m
.
windowState
=
m
.
WindowState
()
if
m
.
window
s
State
==
types
.
WsNormal
{
if
m
.
windowState
==
types
.
WsNormal
{
rtl
.
PostMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_MAXIMIZE
,
0
)
rtl
.
PostMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_MAXIMIZE
,
0
)
}
else
{
}
else
{
rtl
.
SendMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_RESTORE
,
0
)
rtl
.
SendMessage
(
m
.
Handle
(),
WM_SYSCOMMAND
,
SC_RESTORE
,
0
)
...
...
cef/cef-browser-window-views-framework.go
浏览文件 @
b8cfbc1b
...
@@ -38,9 +38,10 @@ type ViewsFrameworkBrowserWindow struct {
...
@@ -38,9 +38,10 @@ type ViewsFrameworkBrowserWindow struct {
frames
TCEFFrame
//当前浏览器下的所有frame
frames
TCEFFrame
//当前浏览器下的所有frame
auxTools
*
auxTools
//辅助工具
auxTools
*
auxTools
//辅助工具
tray
ITray
//托盘
tray
ITray
//托盘
doOnWindowCreated
WindowComponentOnWindowCreated
//
doOnWindowCreated
WindowComponentOnWindowCreated
//
窗口创建
doOnGetInitialBounds
WindowComponentOnGetInitialBounds
//窗口初始bounds
doOnGetInitialBounds
WindowComponentOnGetInitialBounds
//窗口初始bounds
regions
*
TCefDraggableRegions
//窗口内html拖拽区域
regions
*
TCefDraggableRegions
//窗口内html拖拽区域
windowState
types
.
TWindowState
//窗口状态
}
}
// 创建 ViewsFrameworkBrowserWindow 窗口
// 创建 ViewsFrameworkBrowserWindow 窗口
...
@@ -467,8 +468,24 @@ func (m *ViewsFrameworkBrowserWindow) Close() {
...
@@ -467,8 +468,24 @@ func (m *ViewsFrameworkBrowserWindow) Close() {
m
.
WindowComponent
()
.
Close
()
m
.
WindowComponent
()
.
Close
()
}
}
func
(
m
*
ViewsFrameworkBrowserWindow
)
WindowState
()
types
.
TWindowState
{
if
m
.
windowComponent
.
IsMinimized
()
{
return
types
.
WsMinimized
}
else
if
m
.
windowComponent
.
IsMaximized
()
{
return
types
.
WsMaximized
}
else
if
m
.
windowComponent
.
IsFullscreen
()
{
return
types
.
WsFullScreen
}
return
types
.
WsNormal
}
func
(
m
*
ViewsFrameworkBrowserWindow
)
Maximize
()
{
func
(
m
*
ViewsFrameworkBrowserWindow
)
Maximize
()
{
m
.
WindowComponent
()
.
Maximize
()
m
.
windowState
=
m
.
WindowState
()
if
m
.
windowState
==
types
.
WsNormal
{
m
.
WindowComponent
()
.
Maximize
()
}
else
{
m
.
Restore
()
}
}
}
func
(
m
*
ViewsFrameworkBrowserWindow
)
Minimize
()
{
func
(
m
*
ViewsFrameworkBrowserWindow
)
Minimize
()
{
...
...
cef/cef-browser-window.go
浏览文件 @
b8cfbc1b
...
@@ -66,6 +66,7 @@ type IBrowserWindow interface {
...
@@ -66,6 +66,7 @@ type IBrowserWindow interface {
Hide
()
//隐藏窗口
Hide
()
//隐藏窗口
Maximize
()
//窗口最大化
Maximize
()
//窗口最大化
Minimize
()
//窗口最小化
Minimize
()
//窗口最小化
Restore
()
//窗口还原
Close
()
//关闭窗口
Close
()
//关闭窗口
CloseBrowserWindow
()
//关闭浏览器窗口
CloseBrowserWindow
()
//关闭浏览器窗口
WindowType
()
consts
.
WINDOW_TYPE
//窗口类型
WindowType
()
consts
.
WINDOW_TYPE
//窗口类型
...
...
cef/cef-types-window.go
浏览文件 @
b8cfbc1b
...
@@ -14,6 +14,7 @@ import (
...
@@ -14,6 +14,7 @@ import (
"github.com/energye/energy/types"
"github.com/energye/energy/types"
"github.com/energye/golcl/energy/emfs"
"github.com/energye/golcl/energy/emfs"
"github.com/energye/golcl/lcl/api"
"github.com/energye/golcl/lcl/api"
t
"github.com/energye/golcl/lcl/types"
"io/ioutil"
"io/ioutil"
"unsafe"
"unsafe"
)
)
...
@@ -65,6 +66,17 @@ func (m *ICefWindow) IsAlwaysOnTop() bool {
...
@@ -65,6 +66,17 @@ func (m *ICefWindow) IsAlwaysOnTop() bool {
return
api
.
GoBool
(
r1
)
return
api
.
GoBool
(
r1
)
}
}
func
(
m
*
ICefWindow
)
WindowState
()
t
.
TWindowState
{
if
m
.
IsMinimized
()
{
return
t
.
WsMinimized
}
else
if
m
.
IsMaximized
()
{
return
t
.
WsMaximized
}
else
if
m
.
IsFullscreen
()
{
return
t
.
WsFullScreen
}
return
t
.
WsNormal
}
func
(
m
*
ICefWindow
)
Maximize
()
{
func
(
m
*
ICefWindow
)
Maximize
()
{
imports
.
Proc
(
internale_ICEFWindow_Maximize
)
.
Call
(
uintptr
(
m
.
instance
))
imports
.
Proc
(
internale_ICEFWindow_Maximize
)
.
Call
(
uintptr
(
m
.
instance
))
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录