(CEGUI)如何创建控件 ------菜单MenuBar的使用

//获得创建的字体句柄(用来设置Menubar的高度,也可以直接设置高度)

CEGUI::Font* d_font = &FontManager::getSingleton().create("DejaVuSans-10.font");

//创建MenuBar

UDim bar_bottom(0,d_font->getLineSpacing(3));
Window* bar = WindowManager::getSingletonPtr()->createWindow("WindowsLook/Menubar");
bar->setArea(UDim(0,0),UDim(0,0),UDim(1,0),bar_bottom);
 // 一直置顶
 bar->setAlwaysOnTop(true); 
 root->addChildWindow(bar);

 

//添加菜单元素

// 添加一级菜单

    Window* file = WindowManager::getSingletonPtr()->createWindow("WindowsLook/MenuItem");
    file->setText("File");
    bar->addChildWindow(file);
   
    // 添加弹出菜单

    Window* popup = WindowManager::getSingletonPtr()->createWindow("WindowsLook/PopupMenu");
    file->addChildWindow(popup);
   
    // 添加菜单元素

    Window* item = WindowManager::getSingletonPtr()->createWindow("WindowsLook/MenuItem");
    item->setText("Quit");

    *这里的这个事件也可以这么加,和我们平常的不一样,不知道LISTITEM是不是也有这个功能
    item->subscribeEvent("Clicked", Event::Subscriber(&ScrollablePaneSample::fileQuit, this));
    popup->addChildWindow(item);

    //添加二级菜单
    item = d_wm->createWindow("WindowsLook/MenuItem");
    item->setText("MM");
 
    popup->addChildWindow(item);

    Window* Mpopup = d_wm->createWindow("WindowsLook/PopupMenu");
    item->addChildWindow(Mpopup);

    Window* Yitem = d_wm->createWindow("WindowsLook/MenuItem");
    Yitem->setText("YYttt");
    Mpopup->addChildWindow(Yitem);

 

 

 

    // 一级菜单

    Window* demo = WindowManager::getSingletonPtr()->createWindow("WindowsLook/MenuItem");
    demo->setText("Demo");
    bar->addChildWindow(demo);

    // 弹出菜单

    popup = WindowManager::getSingletonPtr()->createWindow("WindowsLook/PopupMenu");
    demo->addChildWindow(popup);

    // 菜单元素

    item = WindowManager::getSingletonPtr()->createWindow("WindowsLook/MenuItem");
    item->setText("New dialog");
    item->setTooltipText("Hotkey: Space");
    item->subscribeEvent("Clicked", Event::Subscriber(&ScrollablePaneSample::demoNewDialog, this));
    popup->addChildWindow(item);

 

 

 

 

 

你可能感兴趣的:(File,dialog)