diff options
Diffstat (limited to 'sysdata_windows.go')
| -rw-r--r-- | sysdata_windows.go | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/sysdata_windows.go b/sysdata_windows.go new file mode 100644 index 0000000..e7af7fd --- /dev/null +++ b/sysdata_windows.go @@ -0,0 +1,66 @@ +// 11 february 2014 +package main + +import ( + "syscall" + "unsafe" +) + +type sysData struct { + cSysData + + hwnd _HWND + cid _HMENU +} + +type classData struct { + name uintptr + style uint32 + xstyle uint32 +} + +//const controlstyle = _WS_CHILD | _WS_VISIBLE | _WS_TABSTOP +//const controlxstyle = 0 + +var classTypes = [nctypes]*classData{ + c_window: &classData{ + name: uintptr(unsafe.Pointer(windowclass)), + style: xxxx, + xstyle: xxxx, + }, +// c_button: &classData{ +// name: uintptr(unsafe.Pointer("BUTTON")) +// style: _BS_PUSHBUTTON | controlstyle, +// xstyle: 0 | controlxstyle, +// }, +} + +func (s *sysData) make() (err error) { + +} + +func (s *sysData) show() (err error) { + ret := make(chan uiret) + defer close(ret) + uitask <- &uimsg{ + call: os_showWindow, + p: []uintptr{uintptr(s.hwnd, _SW_SHOW}, + ret: ret, + } + r := <-ret + close(ret) + return r.err +} + +func (s *sysData) hide() (err error) { + ret := make(chan uiret) + defer close(ret) + uitask <- &uimsg{ + call: _showWindow, + p: []uintptr{uintptr(s.hwnd), _SW_HIDE}, + ret: ret, + } + r := <-ret + close(ret) + return r.err +} |
