duilib视频教程_duilib入门简明教程 -- 简单控件介绍 (12)

前面的教程应该让大家对duilib的整体有所映像了,下面就来介绍下duilib具体控件的使用。

由于官方没有提供默认的控件样式,所以我就尽量使用win7或者XP自带的按钮样式了,虽然界面比较土鳖,但是想要换成百度杀毒那样的界面,只需要更换图片即可,如果有哪位小伙伴能够提供一些控件样式,那就再好不过啦~

首先利用一下前面教程的框架,效果图如下:

main.cpp的代码如下:

class CDuiFrameWnd : public WindowImplBase{public:    virtual LPCTSTR    GetWindowClassName() const   {   return _T("DUIMainFrame");  }    virtual CDuiString GetSkinFile()                {   return _T("duilib.xml");    }    virtual CDuiString GetSkinFolder()              {   return _T("");  }}; int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){    CPaintManagerUI::SetInstance(hInstance);     CDuiFrameWnd duiFrame;    duiFrame.Create(NULL, _T("DUIWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);    duiFrame.CenterWindow();    duiFrame.ShowModal();    return 0;}

XML代码如下(由于前面的教程里都一一介绍了各种属性,所以以后的XML就不一一注释了):

前面教程的Hello World就是一个大大的按钮,大家对按钮应该很熟悉了,下面我们来几个按钮样式吧:

XP默认按钮

win7默认按钮

百度杀毒

百度卫士

上述图片资源请点击这里下载,下载后解压到exe目录即可,此时Debug文件夹如下(别忘了前面教程的SysBtn文件夹哦):

我们先用DuiDesigner添加一些按钮,并且把他们排整齐,如图:

保存之后就可以看到这几个按钮的pos等属性了,再手动将这几个Button节点加到前面的XML中,并添加图片属性,如下:

效果如下:

用鼠标移上去,或者点击一下,看看是不是和系统按钮一样呢^_^

下面我们介绍一下duilib的另一种特性,那就是可以定制默认样式,这样做有什么好处呢?

假如我们有10个按钮,按钮样式都一样,如果用之前介绍的方式,则需要在每个Button节点都指定图片背景、宽度、高度等信息,一旦需要改动任何一个属性,则需要在10个按钮里面都改一次,所以为了方便修改,我们可以指定一个默认样式,就算有100个按钮,我们也只需要改一次属性。方法如下:

给节点添加一个Default节点即可,其中name属性填写控件的名字,value属性添加控件的属性的值,不过需要将双引号【"】换成【"】,单引号【'】换成【'】,单引号也可以不转换。

XML如下(由于标题栏基本不再变化,所以后面的教程将省略那一段XML):

XML是不是清爽多了呢^_^  注意,这里面要指定height属性,不然会看不到按钮,估计是因为放在了HorizontalLayout水平布局里。(如果是VerticalLayout ,应该是指定width属性,这个只是猜测,暂未验证~\(^o^)/~)

不过你会发现,启动的时候,最小化按钮图片不对了,那是因为最小化按钮没有指定focusedimage属性,所以就用了默认的focusedimage属性,只需要指定一下就行了。

按钮的用法就介绍完啦,大家可以看到UI设计器里面还有下面这些控件,

其中:

Control是所有控件的基类,一般放图片啥的就用它了。

Label和Text是用于放文字的,其中Label的对齐功能比Text要好一些,所以我一般用Label,这个对应于MFC的Static控件。

Edit显然就是编辑框啦,Button就不用多说了吧~

上面提到的控件都是简单控件,拖到设计器上就能直观的看到效果,绝大部分属性都和Button一样,就不赘述了,所有控件的所有属性都在【duilib控件 XML属性列表】里有详细说明(不过有一点点遗漏,需要去看源码),下一节将介绍复杂控件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值