gui walk 实例,禁止最大化、最小化、固定窗体大小

CodyGuo · · 5257 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

go语言的ui库比较少,walk相对来说比较易用,经过几个哥们的指点,摸索出以下方法来满足自己的需要。有walk经验的朋友可以一起交流。 walk增加禁止最大化、最小化、固定窗体大小 修改 lxn/walk/mainwindow.go 1> 增加全局变量 var winStyle uint32 = win.WS_OVERLAPPEDWINDOW 2> 修改 NewMainWindow() 函数下的 win.WS_OVERLAPPEDWINDOW 为 winStyle func NewMainWindow() (*MainWindow, error) { mw := new(MainWindow) if err := InitWindow( mw, nil, mainWindowWindowClass, winStyle, // WS_MINIMIZEBOX = 0X00020000 WS_MAXIMIZEBOX = 0X00010000 WS_SIZEBOX = 0X00040000 win.WS_EX_CONTROLPARENT); err != nil { return nil, err } 3> Men()方法前增加以下三个方法: func (mw *MainWindow) SetMinimizeBox(minbox bool) { if !minbox { winStyle = winStyle - win.WS_MINIMIZEBOX } } func (mw *MainWindow) SetMaximizeBox(maxbox bool) { if !maxbox { winStyle = winStyle - win.WS_MAXIMIZEBOX } } func (mw *MainWindow) SetFixedSize(fixed bool) { if fixed { winStyle = winStyle - win.WS_SIZEBOX } } 4> 使用方法:在Crete Mainwindow之前使用 mw := new(MyMainWindow) mw.SetMaximizeBox(false) mw.SetMinimizeBox(true) mw.SetFixedSize(true) ![gui.png](http://studygolang.qiniudn.com/151001/418c2b64f02a2a322fe43bc37d58e8a7.png) 附上实例: <iframe style="border:1px solid" src="https://wide.b3log.org/playground/a266e4637cb1b42945003e8ae6fefa61.go?embed=true" width="99%" height="600"></iframe>

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5257 次点击  ∙  1 赞  
加入收藏 微博
5 回复  |  直到 2015-10-04 07:16:48
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传