1. 头文件
- #include <CEGUI/CEGUI.h>
- #include<CEGUI/RendererModules/Ogre/CEGUIOgreRenderer.h>
2.初始化引导系统
- mRenderer = &CEGUI::OgreRenderer::bootstrapSystem();//引导系统
- CEGUI::Imageset::setDefaultResourceGroup("Imagesets");
- CEGUI::Font::setDefaultResourceGroup("Fonts");
- CEGUI::Scheme::setDefaultResourceGroup("Schemes");
- CEGUI::WidgetLookManager::setDefaultResourceGroup("LookNFeel");
- CEGUI::WindowManager::setDefaultResourceGroup("Layouts");
- CEGUI::SchemeManager::getSingleton().create("TaharezLook.scheme");
- CEGUI::System::getSingleton().setDefaultMouseCursor("TaharezLook", "MouseArrow");
3.
- //创建窗口管理类对象
- CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton();
- //创建sheet窗口,DefaultWindow:已注册的全局类;CEGUIDemo/Sheet只是一个标识符
- CEGUI::Window *sheet = wmgr.createWindow("DefaultWindow", "CEGUIDemo/Sheet");
- // Quit button
- CEGUI::Window *quit = wmgr.createWindow("TaharezLook/Button", "CEGUIDemo/QuitButton");
- //设置显示文本(Quit),大小
- quit->setText("Quit");
- //设置按钮的大小,位置:其父亲窗口的.15倍处
- quit->setSize(CEGUI::UVector2(CEGUI::UDim(0.15, 0), CEGUI::UDim(0.05, 0)));
- //把quit 添加到sheet中(设置父子窗口关系)
- sheet->addChildWindow(quit);
- CEGUI::Window* messgewin = wmgr.createWindow("TaharezLook/FrameWindow","CEGUIDemo/Messagewin");
- messgewin->setText("** you !");
- messgewin->setSize(CEGUI::UVector2(CEGUI::UDim(0.4, 0), CEGUI::UDim(0.5, 0)));
- sheet->addChildWindow(messgewin);
- CEGUI::Window* statictext = wmgr.createWindow("TaharezLook/StaticText","CEGUIDemo/statictext");
- statictext->setText("Hello world!");
- messgewin->addChildWindow(statictext);
4.收尾工作,指定root 窗口
- //将sheet 设置为root窗口:setGUISheet(sheet)用来指定一个窗口作为GUI的根窗口
- /* 通过使用setGUISheet函数,你可以轻松的在多个GUI中切换。*/
- CEGUI::System::getSingleton().setGUISheet(sheet);