Documentation ¶
Index ¶
- Variables
- func DrawColor(hdc win.HDC, rc win.RECT, argb win.ARGB)
- func DrawImage(hdc win.HDC)
- func DrawRect(hdc win.HDC, rc win.RECT, size int)
- func DrawRectRound(hdc win.HDC, rc win.RECT, size int)
- func GetSpLitInt(src, splic string) (out []int)
- func GetSpLitInt32(src, splic string) (out []int32)
- func InitWidget(widget Widget, parent Window, className string, style, exStyle uint32) error
- func InitWindow(window, parent Window, className string, style, exStyle uint32) error
- func MustRegWin(className string, wndProcPtr uintptr, style uint32) error
- func MustRegWinProcPtr(className string, wndProcPtr uintptr)
- func NewErr(str string) error
- func String2Int16(src string) uint64
- type Color
- type ContainerUI
- type ControlUI
- type Default
- type DialogBuilder
- type DoControlUI
- type Font
- type Include
- type PaintManagerUI
- func (c *PaintManagerUI) Init(hWnd win.HWND, pstrName string)
- func (c *PaintManagerUI) MessageHandler(msg uint32, wParam, lParam uintptr) (bool, uintptr)
- func (c *PaintManagerUI) OnGetMinMaxInfo(msg uint32, wParam, lParam uintptr) (bool, uintptr)
- func (c *PaintManagerUI) OnNcHitTest(msg uint32, wParam, lParam uintptr) (bool, uintptr)
- func (c *PaintManagerUI) OnSize(msg uint32, wParam, lParam uintptr) (bool, uintptr)
- func (c *PaintManagerUI) SetInitSize(cx, cy int32)
- func (c *PaintManagerUI) TranslateMessage(msg *win.MSG) bool
- type Rect
- type Size
- type Widget
- type WidgetBase
- type Window
- type WindowBase
- type WindowBase2
- type WindowCfg
- type WindowUI
- type WindowXml
- type XMLContainer
- type XMLContainerUI
- type XMLControl
- type XMLControlUI
Constants ¶
This section is empty.
Variables ¶
View Source
var ( RegWinClass = make(map[string]bool) DefaultWndProcPtr uintptr Hwnd2WindowBase = make(map[win.HWND]*WindowBase) )
必须先注册窗口类
Functions ¶
func GetSpLitInt ¶
func GetSpLitInt32 ¶
func InitWidget ¶
初始化一个 widget
func InitWindow ¶
func MustRegWinProcPtr ¶
func String2Int16 ¶
Types ¶
type ContainerUI ¶
type ContainerUI struct { UI ControlUI // 绘制子节点 Item []interface{} }
type DialogBuilder ¶
type DialogBuilder struct { }
func (*DialogBuilder) Create ¶
func (c *DialogBuilder) Create(sfilexml string, manager *PaintManagerUI)
读取xml 解析数据 可以做遍历两个树,一个是整个控件的xml属性,一个是真实的值,还有一个map存储所有的控件(有一个sid:唯一的值.)
func (*DialogBuilder) Parse ¶
func (c *DialogBuilder) Parse(sfilexml string, manager *PaintManagerUI, xw *WindowXml)
解析子控件数据
func (*DialogBuilder) RangeListParse ¶
func (c *DialogBuilder) RangeListParse(el []*etree.Element, manager *PaintManagerUI) (r1 []interface{})
type DoControlUI ¶
type PaintManagerUI ¶
type PaintManagerUI struct { HWndPaint win.HWND Name string HDCPaint win.HDC HDcOffscreen win.HDC HDcBackground win.HDC // Root DoControlUI R1 []interface{} R2 []interface{} // RootXml *WindowXml WindowUI *WindowUI DialogBuilder BStartPaint bool // 是否开始绘制 }
func (*PaintManagerUI) MessageHandler ¶
func (c *PaintManagerUI) MessageHandler(msg uint32, wParam, lParam uintptr) (bool, uintptr)
func (*PaintManagerUI) OnGetMinMaxInfo ¶
func (c *PaintManagerUI) OnGetMinMaxInfo(msg uint32, wParam, lParam uintptr) (bool, uintptr)
func (*PaintManagerUI) OnNcHitTest ¶
func (c *PaintManagerUI) OnNcHitTest(msg uint32, wParam, lParam uintptr) (bool, uintptr)
func (*PaintManagerUI) OnSize ¶
func (c *PaintManagerUI) OnSize(msg uint32, wParam, lParam uintptr) (bool, uintptr)
func (*PaintManagerUI) SetInitSize ¶
func (c *PaintManagerUI) SetInitSize(cx, cy int32)
func (*PaintManagerUI) TranslateMessage ¶
func (c *PaintManagerUI) TranslateMessage(msg *win.MSG) bool
type WidgetBase ¶
type WidgetBase struct {
WindowBase
}
func NewWidgetBase ¶
func NewWidgetBase() (*WidgetBase, error)
type Window ¶
type Window interface { // 返回当前的句柄 Handle() win.HWND // 返回一个可以操作的实例 AsWindowBase() *WindowBase Run() WndProc(hwnd win.HWND, msg uint32, wParam, lParam uintptr) uintptr }
统一window 操作方法.
func WindowFromHandle ¶
type WindowBase ¶
type WindowBase struct { Hwnd win.HWND Window Window Visible bool // 是否隐藏 Enabled bool // 是否禁用 Name string PaintManager PaintManagerUI }
func (*WindowBase) AsWindowBase ¶
func (c *WindowBase) AsWindowBase() *WindowBase
func (*WindowBase) Handle ¶
func (c *WindowBase) Handle() win.HWND
func (*WindowBase) OnCreate ¶
func (c *WindowBase) OnCreate(hwnd win.HWND, msg uint32, wParam, lParam uintptr)
func (*WindowBase) Run ¶
func (c *WindowBase) Run()
type WindowBase2 ¶
type WindowUI ¶
type WindowXml ¶
type WindowXml struct { XMLName xml.Name `xml:"Window"` Size string `xml:"size,attr"` // 最初窗口大小 SizeBox string `xml:"sizebox,attr"` // 标题栏和客户区之间的可以改变大小的上下箭头或左右箭头,区域越大,越容易方便改变窗口大小 Caption string `xml:"caption,attr"` // 标题栏的区域(鼠标可以托动的区域),鼠标放上去小箭头的模样. Roundcorner string `xml:"roundcorner,attr"` // 设置窗口的圆角大小,值只有x,y起作用 Mininfo string `xml:"mininfo,attr"` // 窗口最小Size Maxinfo string `xml:"maxinfo,attr"` // 窗口最大Size Include []Include `xml:"Include"` Font []Font `xml:"Font"` Default []Default `xml:"Default"` }
type XMLContainer ¶
type XMLContainer struct { DoControlUI ID string // 序号 XML *XMLContainerUI // xml属性 UI *ContainerUI // 控件真实属性 CoreUI *XMLControl Item []interface{} }
面板绘制
func NewXMLContainer ¶
func NewXMLContainer() *XMLContainer
func (*XMLContainer) SetAttr ¶
func (c *XMLContainer) SetAttr(attr etree.Attr)
type XMLContainerUI ¶
type XMLContainerUI struct { CoreUI XMLControlUI Inset string `xml:"inset,attr"` Mousechild string `xml:"mousechild,attr"` Vscrollbarstyle string `xml:"vscrollbarstyle,attr"` Hscrollbar string `xml:"hscrollbar,attr"` Hscrollbarstyle string `xml:"hscrollbarstyle,attr"` Childpadding string `xml:"childpadding,attr"` Childvalign string `xml:"childvalign,attr"` Childalign string `xml:"childalign,attr"` }
type XMLControl ¶
type XMLControl struct { DoControlUI ID string // 序号 XML *XMLControlUI // xml属性 UI *ControlUI // 控件真实属性 HDCPaint *PaintManagerUI Item []interface{} }
func NewXMLControl ¶
func NewXMLControl() *XMLControl
func (*XMLControl) SetAttr ¶
func (c *XMLControl) SetAttr(attr etree.Attr)
func (*XMLControl) SetPaint ¶
func (c *XMLControl) SetPaint(pa *PaintManagerUI)
type XMLControlUI ¶
type XMLControlUI struct { Pos string `xml:"pos,attr"` Padding string `xml:"padding,attr"` Name string `xml:"name,attr"` Bkcolor string `xml:"bkcolor,attr"` Bkcolor1 string `xml:"bkcolor1,attr"` Bkcolor2 string `xml:"bkcolor2,attr"` Bkcolor3 string `xml:"bkcolor3,attr"` BorderColor string `xml:"bordercolor,attr"` FocusBorderColor string `xml:"focusbordercolor,attr"` Colorhsl string `xml:"colorhsl,attr"` BorderSize string `xml:"bordersize,attr"` BorderStyle string `xml:"borderstyle,attr"` BorderRound string `xml:"borderround,attr"` Bkimage string `xml:"bkimage,attr"` Width string `xml:"width,attr"` Height string `xml:"height,attr"` MinWidth string `xml:"minwidth,attr"` MinHeight string `xml:"minheight,attr"` MaxWidth string `xml:"maxwidth,attr"` MaxHeight string `xml:"maxheight,attr"` Text string `xml:"text,attr"` Tooltip string `xml:"tooltip,attr"` UserData string `xml:"userdata,attr"` Tag string `xml:"tag,attr"` Enabled string `xml:"enabled,attr"` Mouse string `xml:"mouse,attr"` KeyHoard string `xml:"keyboard,attr"` Visible string `xml:"visible,attr"` Float string `xml:"float,attr"` Menu string `xml:"menu,attr"` Virtualwnd string `xml:"virtualwnd,attr"` }
Click to show internal directories.
Click to hide internal directories.