diff --git a/cef/cef-views-framework-browser-window.go b/cef/cef-views-framework-browser-window.go index c724dae7b7dfbf8cad7123179b4dae11ecb1a46d..7da658fca3e635b09da659f23fd2a61fdd53959d 100644 --- a/cef/cef-views-framework-browser-window.go +++ b/cef/cef-views-framework-browser-window.go @@ -50,7 +50,7 @@ func NewViewsFrameworkBrowserWindow(chromiumConfig *tCefChromiumConfig, windowPr if m.chromium.CreateBrowserByBrowserViewComponent(windowProperty.Url, m.browserViewComponent) { m.windowComponent.AddChildView(m.browserViewComponent) m.windowComponent.SetTitle(windowProperty.Title) - if windowProperty.IsCenterWindow { + if windowProperty.CenterWindow { window.CenterWindow(NewCefSize(windowProperty.Width, windowProperty.Height)) } if windowProperty.IconFS != "" { @@ -65,7 +65,7 @@ func NewViewsFrameworkBrowserWindow(chromiumConfig *tCefChromiumConfig, windowPr m.windowComponent.Show() } }) - if !windowProperty.IsCenterWindow { + if !windowProperty.CenterWindow { m.windowComponent.SetOnGetInitialBounds(func(sender lcl.IObject, window *ICefWindow, aResult *TCefRect) { aResult.X = windowProperty.X aResult.Y = windowProperty.Y @@ -146,21 +146,21 @@ func (m *ViewsFrameworkBrowserWindow) registerPopupEvent() { if !result { result = true wp := &WindowProperty{ - Title: BrowserWindow.Config.WindowProperty.Title, - Url: beforePopupInfo.TargetUrl, - CanMinimize: BrowserWindow.Config.WindowProperty.CanMinimize, - CanMaximize: BrowserWindow.Config.WindowProperty.CanMaximize, - CanResize: BrowserWindow.Config.WindowProperty.CanResize, - CanClose: BrowserWindow.Config.WindowProperty.CanClose, - IsCenterWindow: BrowserWindow.Config.WindowProperty.IsCenterWindow, - IsShowModel: BrowserWindow.Config.WindowProperty.IsShowModel, - WindowState: BrowserWindow.Config.WindowProperty.WindowState, - Icon: BrowserWindow.Config.WindowProperty.Icon, - IconFS: BrowserWindow.Config.WindowProperty.IconFS, - X: BrowserWindow.Config.WindowProperty.X, - Y: BrowserWindow.Config.WindowProperty.Y, - Width: BrowserWindow.Config.WindowProperty.Width, - Height: BrowserWindow.Config.WindowProperty.Height, + Title: BrowserWindow.Config.WindowProperty.Title, + Url: beforePopupInfo.TargetUrl, + CanMinimize: BrowserWindow.Config.WindowProperty.CanMinimize, + CanMaximize: BrowserWindow.Config.WindowProperty.CanMaximize, + CanResize: BrowserWindow.Config.WindowProperty.CanResize, + CanClose: BrowserWindow.Config.WindowProperty.CanClose, + CenterWindow: BrowserWindow.Config.WindowProperty.CenterWindow, + IsShowModel: BrowserWindow.Config.WindowProperty.IsShowModel, + WindowState: BrowserWindow.Config.WindowProperty.WindowState, + Icon: BrowserWindow.Config.WindowProperty.Icon, + IconFS: BrowserWindow.Config.WindowProperty.IconFS, + X: BrowserWindow.Config.WindowProperty.X, + Y: BrowserWindow.Config.WindowProperty.Y, + Width: BrowserWindow.Config.WindowProperty.Width, + Height: BrowserWindow.Config.WindowProperty.Height, } vFrameBrowserWindow := NewViewsFrameworkBrowserWindow(BrowserWindow.Config.chromiumConfig, wp, nil) vFrameBrowserWindow.registerPopupEvent() diff --git a/cef/window-info.go b/cef/window-info.go index 2567563505705049abb0f2df125005980467322e..3c9f92f657aa2c7d75219fb70318875fc2f06d36 100644 --- a/cef/window-info.go +++ b/cef/window-info.go @@ -26,6 +26,7 @@ type TCefWindowInfo struct { auxTools *auxTools //辅助工具 } +//辅助工具 type auxTools struct { devToolsWindow *LCLBrowserWindow //devTools devToolsX int32 //上次改变的窗体位置,宽度 @@ -40,36 +41,38 @@ type auxTools struct { viewSourceHeight int32 // } +//窗口属性 type WindowProperty struct { - IsShowModel bool //是否以模态窗口显示 - WindowState types.TWindowState //窗口 状态 - Title string //窗口 标题 - Url string //默认打开URL - Icon string //窗口图标 加载本地图标 - IconFS string //窗口图标 加载emfs内置图标 - CanMinimize bool //窗口 是否启用最小化功能 - CanMaximize bool //窗口 是否启用最大化功能 - CanResize bool //窗口 是否允许调整窗口大小 - CanClose bool //窗口 关闭时是否关闭窗口 - IsCenterWindow bool //窗口 是否居中显示 - AlwaysOnTop bool //窗口 置顶 - X int32 //窗口 IsCenterWindow=false X坐标 - Y int32 //窗口 IsCenterWindow=false Y坐标 - Width int32 //窗口 宽 - Height int32 //窗口 高 -} - + IsShowModel bool //是否以模态窗口显示 + WindowState types.TWindowState //窗口 状态 + Title string //窗口 标题 + Url string //默认打开URL + Icon string //窗口图标 加载本地图标 + IconFS string //窗口图标 加载emfs内置图标 + CanMinimize bool //窗口 是否启用最小化功能 + CanMaximize bool //窗口 是否启用最大化功能 + CanResize bool //窗口 是否允许调整窗口大小 + CanClose bool //窗口 关闭时是否关闭窗口 + CenterWindow bool //窗口 是否居中显示 + AlwaysOnTop bool //窗口 置顶 + X int32 //窗口 CenterWindow=false X坐标 + Y int32 //窗口 CenterWindow=false Y坐标 + Width int32 //窗口 宽 + Height int32 //窗口 高 +} + +//创建一个 窗口默认属性 func NewWindowProperty() *WindowProperty { return &WindowProperty{ - Title: "Energy", - Url: "about:blank", - CanMinimize: true, - CanMaximize: true, - CanResize: true, - CanClose: true, - IsCenterWindow: true, - Width: 1024, - Height: 768, + Title: "Energy", + Url: "about:blank", + CanMinimize: true, + CanMaximize: true, + CanResize: true, + CanClose: true, + CenterWindow: true, + Width: 1024, + Height: 768, } } diff --git a/cef/window.go b/cef/window.go index dc302a611a6f529b09d663365f8551c8dae1d5b4..37ab725cf705d0cf22c9dd6c4b32ee9ff12fd9c8 100644 --- a/cef/window.go +++ b/cef/window.go @@ -27,7 +27,9 @@ func NewWindow(windowProperty *WindowProperty) *LCLBrowserWindow { window.SetNotInTaskBar() window.defaultWindowEvent() window.SetCaption(windowProperty.Title) - if windowProperty.IsCenterWindow { + if windowProperty.CenterWindow { + window.SetWidth(windowProperty.Width) + window.SetHeight(windowProperty.Height) window.SetPosition(types.PoDesktopCenter) } else { window.SetPosition(types.PoDefault)