twgh / xcgui

炫彩界面库. Go GUI library. Golang bindings for XCGUI, Windows GUI library, DirectUI design idea.

Home Page:https://pkg.go.dev/github.com/twgh/xcgui

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

lauyoutframe 设置隐藏 UI线程没及时隐藏和显示

emund1101 opened this issue · comments

func main() {
	a := app.New(true)
        a.LoadResource("resource.res")
	//a.LoadResourceZip("xcgui.zip", "resource.res", "")
	// 从zip中加载布局文件
	hWindow := a.LoadLayout("main.xml", 0, 0)

	if hWindow == 0 {
		panic("error")
	}
	//隐藏对应的id
	laylist := widget.NewLayoutFrameByName("list")

	//主线程ui
	go func() {
		a.CallUiThread(func(data int) int {
			laylist.Show(false)
			return 0
		}, 0)
	}()

	// 创建窗口对象
	win := window.NewWindowByHandle(hWindow)

	//通过name获取对象句柄
	btn := widget.NewButtonByName("btn")
	//添加绑定事件
	btn.Event_BnClick(func(pbHandled *bool) int {
		go func() {
			a.CallUiThread(func(data int) int {
				laylist.Show(false)
				win.AdjustLayout()

				return 0
			}, 0)
		}()

		return btn1(win.GetHWND())
	})
	// 调整布局
	win.AdjustLayout()
	// 显示窗口
	win.ShowWindow(xcc.SW_SHOW)
	a = s
	w = hWindow
	a.SetPaintFrequency(10)
	a.Run()
	a.Exit()
}

绑定事件点击按钮,触发的事件显示layoutframe,窗口的layoutframe没有及时显示,滚动或者缩放才会变化

image

commented

可以在网盘中提供完整的代码和其他依赖文件,我来看一下

commented

太久没有回复, 如果还有问题可以再开一个