提交 c102093b 编写于 作者: yanghye's avatar yanghye

U: lcl window SetFocus

上级 486ecb8a
......@@ -610,7 +610,9 @@ func (m *LCLBrowserWindow) Minimize() {
// Restore
func (m *LCLBrowserWindow) Restore() {
m.SetWindowState(types.WsNormal)
m.RunOnMainThread(func() {
m.SetWindowState(types.WsNormal)
})
}
// DisableTransparent 禁用口透明
......@@ -737,6 +739,13 @@ func (m *LCLBrowserWindow) IsLCL() bool {
return true
}
// SetFocus 设置窗口焦点
func (m *LCLBrowserWindow) SetFocus() {
m.Minimize()
m.Restore()
m.TForm.SetFocus()
}
// show 内部调用
func (m *LCLBrowserWindow) show(sender lcl.IObject) {
if m.onShow != nil {
......
......@@ -52,7 +52,8 @@ func main() {
println("LCL 窗口隐藏, 5秒后显示.")
time.Sleep(time.Second * 5)
window.RunOnMainThread(func() {
window.Show() //显示窗口
bw.Show()
bw.SetFocus()
})
}()
return true //跳过默认事件, 如果想关闭窗口,这里返回false
......
......@@ -39,21 +39,21 @@ type ObjectProperty struct {
func init() {
var lclExtImportDefs = []*dllimports.ImportTable{
//LCL Extend
dllimports.NewEnergyImport("Ext_Panel_GetBevelColor", 0),
dllimports.NewEnergyImport("Ext_Panel_SetBevelColor", 0),
dllimports.NewEnergyImport("Ext_ReadStringProperty", 0),
dllimports.NewEnergyImport("Ext_Form_Activate", 0),
dllimports.NewEnergyImport("Ext_Form_Deactivate", 0),
}
imports.SetLClExtImportDefs(lclExtImportDefs)
}
const (
//null nil
null_nil = iota
//LCL Extend
Ext_Panel_GetBevelColor
Ext_Panel_GetBevelColor = iota
Ext_Panel_SetBevelColor
Ext_ReadStringProperty
Ext_Form_Activate
Ext_Form_Deactivate
)
func PanelBevelColor(panel *lcl.TPanel) types.TColor {
......@@ -70,6 +70,14 @@ func readObjectStringProperty(sender lcl.IObject) string {
return api.GoStr(r1)
}
func FormActivate(form *lcl.TForm) {
imports.ExtProc(Ext_Form_Activate).Call(form.Instance())
}
func FormDeactivate(form *lcl.TForm) {
imports.ExtProc(Ext_Form_Deactivate).Call(form.Instance())
}
func ReadObjectStringProperty(sender lcl.IObject) map[string]ObjectProperty {
str := readObjectStringProperty(sender)
strs := strings.Split(str, "\n")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册