mirror of
https://gitee.com/energye/energy.git
synced 2024-12-12 12:25:23 +08:00
69 lines
2.9 KiB
Go
69 lines
2.9 KiB
Go
//----------------------------------------
|
||
//
|
||
// Copyright © yanghy. All Rights Reserved.
|
||
//
|
||
// Licensed under Apache License Version 2.0, January 2004
|
||
//
|
||
// https://www.apache.org/licenses/LICENSE-2.0
|
||
//
|
||
//----------------------------------------
|
||
|
||
// CEFWindowParent组件
|
||
package cef
|
||
|
||
import (
|
||
"github.com/energye/energy/common"
|
||
"github.com/energye/energy/consts"
|
||
"github.com/energye/golcl/lcl"
|
||
"github.com/energye/golcl/lcl/types"
|
||
)
|
||
|
||
// ITCefWindowParent 接口定义
|
||
type ITCefWindowParent interface {
|
||
lcl.IWinControl
|
||
Type() consts.TCefWindowHandleType // 组件类型, Windows TCEFWindowParent 组件,MacOSX, Linux TCEFLinkedWindowParent 组件
|
||
SetChromium(chromium IChromium, tag int32) // 设置 IChromium, 只 TCEFLinkedWindowParent 有效
|
||
UpdateSize() // 更新组件大小
|
||
HandleAllocated() bool // 处理所有
|
||
CreateHandle() // 创建句柄
|
||
SetOnEnter(fn lcl.TNotifyEvent) // 进入事件
|
||
SetOnExit(fn lcl.TNotifyEvent) // 退出事件
|
||
DestroyChildWindow() bool // 销毁子窗口
|
||
Free() // 释放
|
||
Handle() types.HWND // 组件句柄
|
||
Name() string // 获取组件名称
|
||
SetName(value string) // 设置组件名称
|
||
SetParent(value lcl.IWinControl) // 设置控件父容器
|
||
Align() types.TAlign // 获取控件自动调整
|
||
SetAlign(value types.TAlign) // 设置控件自动调整
|
||
Anchors() types.TAnchors // 获取四个角位置的锚点
|
||
SetAnchors(value types.TAnchors) // 设置四个角位置的锚点
|
||
Visible() bool // 获取控件可视
|
||
SetVisible(value bool) // 设置控件可视
|
||
Enabled() bool // 获取是否启用
|
||
SetEnabled(value bool) // 设置是否启用
|
||
Left() int32 // 获取左边距
|
||
SetLeft(value int32) // 设置左边距
|
||
Top() int32 // 获取上边距
|
||
SetTop(value int32) // 设置上边距
|
||
Width() int32 // 获取宽度
|
||
SetWidth(value int32) // 设置宽度
|
||
Height() int32 // 获取高度
|
||
SetHeight(value int32) // 设置高度
|
||
BoundsRect() (result types.TRect) // 获取矩形边界
|
||
SetBoundsRect(value types.TRect) // 设置矩形边界
|
||
}
|
||
|
||
// NewCEFWindow 创建CEFWindowParent
|
||
//
|
||
// # Windows return TCEFWindowParent
|
||
//
|
||
// MacOSX, Linux return TCEFLinkedWindowParent
|
||
func NewCEFWindow(owner lcl.IComponent) ITCefWindowParent {
|
||
if common.IsWindows() {
|
||
return NewCEFWindowParent(owner)
|
||
} else {
|
||
return NewCEFLinkedWindowParent(owner)
|
||
}
|
||
}
|