原始的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 } }