学习CEGUI(CELayoutEditor,CEImagesetEditor)之四

在CEGUI中使用layout文件(1)

CEGUI支持两种方式的资源使用,一种就是在前文可见的直接在c++文件当中创建窗体,使用窗体;另一种方式就是在layout文件当中定制窗体。从理论上讲,两种方式都能达到相同的目的。

在不使用layout文件时,CEGUI是不太方便的,因为要定位控件,常常得修改文件当中的参数,如果在c++文件当中修改,每次都编译,很恶心(尤其是在有编辑器的情况下,使用c++就不能使用了)。

所以如果你要使用CEGUI,对layout文件的使用和编辑都是必修课。

下面这个就是一个简单的使用layout文件的例子,作的仅仅是把文件读进来、显示在窗口里了。

 

 #include "TDemo1.h"

#include "CEGUI.h"

#include "CEGuiBaseApplication.h"



#include <cstdlib>



int main(int argc, char *argv[])

...{

    TDemo1 app;

    return app.run();

}



/**//*************************************************************************



*************************************************************************/

bool TDemo1::initialiseSample()

...{

    using namespace CEGUI;



    // 窗体管理器

    WindowManager& winMgr = WindowManager::getSingleton();



    // 载入资源

    SchemeManager::getSingleton().loadScheme("TaharezLook.scheme");

    System::getSingleton().setDefaultMouseCursor("TaharezLook", "MouseArrow");

    FontManager::getSingleton().createFont("Commonwealth-10.font");

    // 在此载入layout文件

    // 这个就是要在实际当中经常使用的

    Window* sheet = winMgr.loadWindowLayout("TDemo1.layout");

    System::getSingleton().setGUISheet(sheet);



    return true;

}



/**//*************************************************************************



*************************************************************************/

void TDemo1::cleanupSample()

...{

    // 啥也不做

}

 



TDemo1.layout



 



<?xml version="1.0" encoding="UTF-8"?>

<GUILayout>

    <Window Type="DefaultWindow" Name="root">

        <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />

        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />        

        <Window Type="TaharezLook/FrameWindow" Name="TDemo1/Window1" >

            <Property Name="Text" Value="TDemo 1" />

            <Property Name="UnifiedMaxSize" Value="{{0.8,0},{0.8,0}}" />

            <Property Name="UnifiedMinSize" Value="{{0.2,0},{0.2,0}}" />

            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.1,0},{0.9,0},{0.7,0}}" />

            <Property Name="CloseButtonEnabled" Value="False" />          

        </Window>

    </Window>

</GUILayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值