#define SetWindowRect( window, x, y, width, height ) \
       {	\
	        window->setPosition( \
	        CEGUI::UVector2( CEGUI::UDim(0.0f, x),	\
	        CEGUI::UDim(0.0f, y) )	\
	        );	\
	        window->setSize(	\
	        CEGUI::UVector2( CEGUI::UDim(0.0f, width),	\
	        CEGUI::UDim(0.0f, height) )	\
	        );	\
        }

        CEGUI::Direct3D9Renderer* g_pRender = NULL;
        //初始化
        g_pRender = &CEGUI::Direct3D9Renderer::create( lpDevice );
	
	CEGUI::System& mGUISystem = CEGUI::System::create(*g_pRender);

	CEGUI::DefaultResourceProvider* rp = static_cast<CEGUI::DefaultResourceProvider*>
		(CEGUI::System::getSingleton().getResourceProvider());

	rp->setResourceGroupDirectory("schemes", "../Media/gui/");
	rp->setResourceGroupDirectory("imagesets", "../Media/gui/");
	rp->setResourceGroupDirectory("fonts", "../Media/fonts/");
	rp->setResourceGroupDirectory("layouts", "../Media/gui/");
	rp->setResourceGroupDirectory("looknfeels", "../Media/gui/");

	CEGUI::Imageset::setDefaultResourceGroup("imagesets");
	CEGUI::Font::setDefaultResourceGroup("fonts");
	CEGUI::Scheme::setDefaultResourceGroup("schemes");
	CEGUI::WidgetLookManager::setDefaultResourceGroup("looknfeels");
	CEGUI::WindowManager::setDefaultResourceGroup("layouts");

	CEGUI::SchemeManager::getSingleton().create(
		(CEGUI::utf8*)"TaharezLookSkin.scheme");
	mGUISystem.setDefaultMouseCursor(
		(CEGUI::utf8*)"TaharezLook", (CEGUI::utf8*)"MouseArrow");
	mGUISystem.setDefaultFont((CEGUI::utf8*)"simkai");
	CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton();

	CEGUI::Window* sheet = wmgr.createWindow(
		"DefaultGUISheet", "Root" ); 
	mGUISystem.setGUISheet(sheet);

	/// 创建主窗口
	CEGUI::FrameWindow* frame = 
		(CEGUI::FrameWindow*)wmgr.createWindow(
		"TaharezLook/FrameWindow", "Root/Frame");
	SetWindowRect( frame, 0, 26, 200, 400 );
	frame->setProperty( "Alpha", "0.0" );
	frame->setProperty( "SizingEnabled", "False" );
	frame->setProperty( "TitlebarEnabled", "False" );
	sheet->addChildWindow( frame );

	/// 创建按钮
	CEGUI::PushButton* mQuitButton = (CEGUI::PushButton*)wmgr.createWindow(
		"TaharezLook/Button", "Root/Frame/QuitButton" );
	SetWindowRect( mQuitButton, 80, 50, 100, 26 );
	mQuitButton->setText( "ChangeModel" );
	mQuitButton->setProperty( "InheritsAlpha", "False" );
	frame->addChildWindow( mQuitButton );

	/// 创建编辑框
	CEGUI::MultiLineEditbox* mEditBox = (CEGUI::MultiLineEditbox*)wmgr.createWindow(
		"TaharezLook/MultiLineEditbox", "Root/Frame/MultiEditbox" );
	SetWindowRect( mEditBox, 5, 150, 155, 80 );
	mEditBox->setProperty( "InheritsAlpha", "False" );
	mEditBox->setProperty( "Alpha", "0.5" );
	frame->addChildWindow( mEditBox );

	CEGUI::ImagesetManager::getSingleton().createFromImageFile("MyImage", "72.png");
	CEGUI::Window* mImage = wmgr.createWindow( 
		"TaharezLook/StaticImage", "Root/Frame/StaticImage");
	SetWindowRect( mImage, 0, 30, 50, 50 );
	mImage->setProperty( "Image", "set:MyImage image:full_image");
	mImage->setProperty( "InheritsAlpha", "False" );
	frame->addChildWindow( mImage );

        //渲染GUI
        CEGUI::System::getSingleton().renderGUI();

        //销毁
        CEGUI::System::getSingleton().destroy();
	CEGUI::Direct3D9Renderer::destroy(*g_pRender);

相关文章:

  • 2021-07-25
  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-16
  • 2022-01-12
猜你喜欢
  • 2022-12-23
  • 2021-10-12
  • 2022-02-03
  • 2021-12-10
  • 2021-08-21
  • 2022-12-23
相关资源
相似解决方案