本文整理汇总了Golang中github.com/js-arias/sparta.Widget.SetWindow方法的典型用法代码示例。如果您正苦于以下问题:Golang Widget.SetWindow方法的具体用法?Golang Widget.SetWindow怎么用?Golang Widget.SetWindow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/js-arias/sparta.Widget
的用法示例。
在下文中一共展示了Widget.SetWindow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: newWindow
// NewWindow creates a new window and assigns it to a widget.
func newWindow(w sparta.Widget) {
var win *window
rect := w.Property(sparta.Geometry).(image.Rectangle)
if p := w.Property(sparta.Parent); p != nil {
pW := p.(sparta.Widget)
pWin := pW.Window().(*window)
win = &window{
w: w,
back: pWin.back,
fore: pWin.fore,
pos: rect.Min,
}
count := len(pW.Property(sparta.Childs).([]sparta.Widget))
pW.SetProperty(sparta.Childs, w)
win.id = w32.CreateWindowEx(0, stringToUTF16(childClass), nil,
uint(w32.WS_CHILDWINDOW|w32.WS_VISIBLE),
rect.Min.X, rect.Min.Y, rect.Dx(), rect.Dy(),
pWin.id, w32.HMENU(count),
w32.HINSTANCE(w32.GetWindowLong(pWin.id, w32.GWL_HINSTANCE)), nil)
if win.id == 0 {
log.Printf("w32: error: %v\n", getLastError())
os.Exit(1)
}
} else {
win = &window{
w: w,
back: bkGround,
fore: frGround,
}
win.id = w32.CreateWindowEx(uint(w32.WS_EX_CLIENTEDGE),
stringToUTF16(baseClass), stringToUTF16(""),
uint(w32.WS_OVERLAPPEDWINDOW),
150, 150, rect.Dx()+extraX, rect.Dy()+extraY,
0, 0, instance, nil)
if win.id == 0 {
log.Printf("w32: error: %v\n", getLastError())
os.Exit(1)
}
}
widgetTable[win.id] = w
w.SetWindow(win)
w32.ShowWindow(win.id, w32.SW_SHOWDEFAULT)
if !w32.UpdateWindow(win.id) {
log.Printf("w32: error: %v\n", getLastError())
os.Exit(1)
}
}