MyGUI_Orge官网教程_3.在windows皮肤中添加按钮

原始的window skin:

... 
 <Child type="Button" skin="WindowCaption" offset = "3 0 -6 30" align = "HStretch Top" name = "Caption"> 
     <Property key="Scale" value = "1 1 0 0"/> 
 </Child> 
 
 <Child type="Button" skin="WindowX" offset = "-3 0 24 30" align = "Right Top" name = "Button"> 
     <Property key="Event" value = "close"/> 
 </Child> 
 ...

 
新的window skin:

... 
 <Child type="Button" skin="WindowCaption" offset = "3 0 -54 30" align = "HStretch Top" name = "Caption"> 
     <Property key="Scale" value = "1 1 0 0"/> 
 </Child> 
 
 <Child type="Button" skin="WindowX" offset = "-3 0 24 30" align = "Right Top" name = "Button"> 
     <Property key="Event" value = "close"/> 
 </Child> 
 
 <Child type="Button" skin="WindowX" offset = "-27 0 24 30" align = "Right Top" name = "Button"> 
     <Property key="Event" value = "minimized"/> 
 </Child> 
 
 <Child type="Button" skin="WindowX" offset = "-51 0 24 30" align = "Right Top" name = "Button"> 
     <Property key="Event" value = "maximized"/> 
 </Child> 
 ...

 
创建窗口:

MyGUI::WindowPtr window = MyGUI::Gui::getInstance().createWidget<MyGUI::Window>("WindowCSX", x, y, 390, 300, MyGUI::Align::Default, "Overlapped"); 
 window->eventWindowButtonPressed += MyGUI::newDelegate(this, &DemoKeeper::notifyWindowPressed);

 
窗口事件:

void DemoKeeper::notifyWindowPressed(MyGUI::Window* _widget, const std::string& _name) 
 { 
     MyGUI::WindowPtr window = _widget->castType<MyGUI::Window>(); 
     if (_name == "close") window->destroySmooth(); 
     else if (_name == "minimized") { 
         // hide window and show button in your taskbar 
     } 
     else if (_name == "maximized") { 
         // maximized window 
     } 
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值