func newHtmLayout(parent walk.Container) (*HtmLayout, error) { de := new(HtmLayout) if err := walk.InitWidget( de, parent, // htmlayoutClassName, gohl.GetClassName(), win.WS_CHILDWINDOW|win.WS_OVERLAPPEDWINDOW|win.WS_CLIPSIBLINGS, 0); err != nil { return nil, err } hwnd2Widget[de.Handle()] = de // println("post", win.PostMessage(de.Handle(), win.WM_CREATE, 0, 0)) // go func() { // win.ShowWindow(de.Handle(), win.SW_SHOW) // win.UpdateWindow(de.Handle()) // var msg win.MSG // for win.GetMessage(&msg, 0, 0, 0) > 0 { // win.TranslateMessage(&msg) // win.DispatchMessage(&msg) // } // }() de.MustRegisterProperty("PageUrl", walk.NewProperty( func() interface{} { return de.pageUrl }, func(v interface{}) error { de.pageUrl = v.(string) return nil }, de.pageUrlChangedPublisher.Event())) de.MustRegisterProperty("PageContent", walk.NewProperty( func() interface{} { return de.pageContent }, func(v interface{}) error { de.pageContent = v.(string) return nil }, de.pageContentChangedPublisher.Event())) return de, nil }
func NewMultilineLabel(parent walk.Container) (*multilineLabel, error) { l := new(multilineLabel) if err := walk.InitWidget( l, parent, "STATIC", win.WS_VISIBLE|win.SS_CENTER, 0); err != nil { return nil, err } l.MustRegisterProperty("Text", walk.NewProperty( func() interface{} { return l.Text() }, func(v interface{}) error { return l.SetText(v.(string)) }, l.textChangedPublisher.Event())) return l, nil }