虽然前面的教程几乎把所有的知识点都罗列了,但是有很多问题经常在群里出现,所以这里再次整理一下。
    需要注意的是,在下面的问题中,除了加上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"),否则点击文字区域无法移动标题栏。
2、怎么让窗口大小可调整?
    只需在XML的Window节点加上sizebox="4,4,4,4"即可,其中4就是指鼠标离边框还有4个像素的时候,鼠标就会变成箭头形状,这时就可以拖拽边框来改变大小,亲们可以改成40试试。如果再加上mininfo="600,400"属性就可以限制窗口的最小尺寸了,这样窗口能够被调整的最小尺寸就是600*400。
3、怎么屏蔽回车键、 Esc键?
    如果按照最前面说的,主窗口继承自WindowImplBase,那么就已经屏蔽了回车键。如果想自行处理,请在子类响应虚函数MessageHandler。
4、怎么设置exe的图标?
 
5、菜单怎么在失去焦点后消失? 窗口怎么添加阴影?
    请参见【2013 duilib入门简明教程 -- 自绘控件 (15)】中的菜单Demo。
 
6、为什么编译不通过?
 
 

2013 duilib入门简明教程 -- FAQ (19)的更多相关文章

  1. 2013 duilib入门简明教程 -- 总结 (20)

        duilib的入门系列就到尾声了,再次提醒下,Alberl用的duilib版本是SVN上第个版本,时间是2013.08.15~       这里给出Alberl最后汇总的一个工程,戳我下载,效 ...

  2. 2013 duilib入门简明教程 -- 自绘控件 (15)

        在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如 ...

  3. 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)

    小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...

  4. 2013 duilib入门简明教程 -- 部分bug (11)

     一.WindowImplBase的bug     在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,     1.最大化按钮的样式 ...

  5. 2013 duilib入门简明教程 -- 部分bug 2 (14)

        上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃            如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口 ...

  6. 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)

        界面的显示方面就都讲完啦,下面来介绍下控件的响应.     前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...

  7. 2013 duilib入门简明教程 -- 界面布局(9)

        上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的位置会跟着变化,这是因为我们将按钮放到了HorizontalLayout.VerticalLayou ...

  8. 2013 duilib入门简明教程 -- 前言(1)

        关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘述.下面进入正题:     不看广告看疗效! 已有众多知名公司采用duilib做为界面库,如华为网盘. ...

  9. 2013 duilib入门简明教程 -- VS环境配置(2)

        既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错误,以及路径配置错误等等,还有人不知道SVN,然后一个个文件手动下载的.     其实吧,duili ...

随机推荐

  1. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

  2. iOS图片拉伸技巧

    纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设 ...

  3. mssql与mysql 数据迁移

    概要: mssql向mysql迁移的实例,所要用到的工具bcp和load data local infile. 由于订单记录的数据是存放在mssql服务器上的,而项目需求把数据迁移到mysql ser ...

  4. CentOS6.5的vsftp搭建流程(一)

    前几次搭建FTP都失败了,不是登陆不了,就是目录没有权限.现在终于摸索出了靠谱的操作流程,分享之~ 1. 查看是否安装了vsftpd,未安装则安装 [root@iZ283tian2dZ /]# rpm ...

  5. 【转】Oracle 执行计划(Explain Plan) 说明

    转自:http://blog.chinaunix.net/uid-21187846-id-3022916.html       如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQ ...

  6. 【第一课】WEBIX 入门自学-介绍WEBIX

    Webix是跨浏览器.跨平台的JavaScript框架,使用JavaScript.CSS,HTML5技术构建交互式web应用程序.库中提供几十个完全可定制的组件,提供了JQuery集成和可以处理任何服 ...

  7. [BZOJ4198][Noi2015]荷马史诗

    4198: [Noi2015]荷马史诗 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 700  Solved: 365[Submit][Status] ...

  8. Qt里怎么处理二进制数据

    Qt里有个专门的类QDataStream就是专门读写二进制数据的, 它与QByteArray搭配在网络编程中有奇效. 来个栗子: // write data QByteArray data; QDat ...

  9. Log4j按级别输出到不同文件

    log4j.properties 文件: log4j.logger.net.sf.hibernate.cache=debug log4j.rootLogger = error,portal_log,s ...

  10. iOS. PercentEscape是错用的URLEncode,看看AFN和Facebook吧

    别再使用stringByAddingPercentEscapesUsingEncoding 当遇到发送网络请求的参数中有汉字的情况,很多人一股脑地使用stringByAddingPercentEsca ...