您的位置:首页 > 产品设计 > UI/UE

2013 duilib入门简明教程 -- FAQ (19)

2014-04-30 01:32 253 查看
虽然前面的教程几乎把所有的知识点都罗列了,但是有很多问题经常在群里出现,所以这里再次整理一下。
需要注意的是,在下面的问题中,除了加上XML属性外,主窗口必须继承自WindowImplBase,才能够有效果,因为这个类帮我们处理了非常多的常用操作,如果想自己处理,请参见WindowImplBase的代码。

1、怎么设置标题栏区域?
只需在XML的Window节点加上caption="0,0,0,32"即可,其中32是指从窗口顶部开始,往下32个像素的区域,都设置成标题栏,这样就可以点击标题栏拖动窗口,或者双击最大化了。
<Window size="800,600" caption="0,0,0,32" >
不过可以发现有些Demo的标题栏文字区域不能拖动,比如360Demo,那是因为它的文字区域用的是Text,这里必须换成Label,或者将控件禁用(添加属性 enable="false"),否则点击文字区域无法移动标题栏。

完整代码请参见【2013 duilib入门简明教程 -- 完整的自绘标题栏(8)】

2、怎么让窗口大小可调整?
只需在XML的Window节点加上sizebox="4,4,4,4"即可,其中4就是指鼠标离边框还有4个像素的时候,鼠标就会变成箭头形状,这时就可以拖拽边框来改变大小,亲们可以改成40试试。如果再加上mininfo="600,400"属性就可以限制窗口的最小尺寸了,这样窗口能够被调整的最小尺寸就是600*400。

完整代码请参见【2013 duilib入门简明教程 -- 完整的自绘标题栏(8)】

3、怎么屏蔽回车键、 Esc键?
如果按照最前面说的,主窗口继承自WindowImplBase,那么就已经屏蔽了回车键。如果想自行处理,请在子类响应虚函数MessageHandler。

完整代码请参见【2013 duilib入门简明教程 -- 完整的自绘标题栏(8)】

4、怎么设置exe的图标?
请参见【2013 duilib入门简明教程 -- 其他 (18)】

5、菜单怎么在失去焦点后消失? 窗口怎么添加阴影?
请参见【2013 duilib入门简明教程 -- 自绘控件 (15)】中的菜单Demo。

6、为什么编译不通过?
请参见【2013 duilib入门简明教程 -- VS环境配置(2)】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: