找回密码
 立即注册
查看: 354|回复: 0

【UE4编辑器】 MenuBar菜单栏扩展

[复制链接]
发表于 2022-6-2 08:07 | 显示全部楼层 |阅读模式
专栏目录:
<hr/>MenuBar菜单栏扩展可以有效的组合我们对编辑器的扩展功能,把我们写好的一系列功能整合到一个独立的菜单栏,显得更加规整,参考环境UE4.26

  • 效果展示



  • 示例代码

    • 获取LevelEditor模块并添加菜单栏扩展的绑定事件

        {
                FLevelEditorModule& LevelEditorModule = FModuleManager::LoadModuleChecked< FLevelEditorModule >("LevelEditor");
               
                TSharedRef<FExtender> MenuBarExtender = MakeShared<FExtender>();
                MenuBarExtender->AddMenuBarExtension("Help", EExtensionHook::After, PluginCommands, FMenuBarExtensionDelegate::CreateRaw(this, &FSimpleEditorsModule::AddMenuBarExtension));

                LevelEditorModule.GetMenuExtensibilityManager()->AddExtender(MenuBarExtender);
        }


    • 添加一个Tools菜单栏并绑定下拉菜单事件

void FSimpleEditorsModule::AddMenuBarExtension(FMenuBarBuilder &Builder)
{
        Builder.AddPullDownMenu(
                LOCTEXT("CUSTOMTOOLS", "Tools"),
                LOCTEXT("I AM TOOL", "I am tool"),
                FNewMenuDelegate::CreateRaw(this, &FSimpleEditorsModule::PullDwonBar),
                "Tools");
}


    • 自定义下拉菜单功能

void FSimpleEditorsModule::PullDwonBar(FMenuBuilder& Builder)
{
        Builder.AddMenuEntry(FSimpleEditorsCommands::Get().PluginAction);

        Builder.BeginSection(TEXT("Others"));
        {
                Builder.AddWidget(
                        SNew(SImage),
                        LOCTEXT("IamgeWidget", "Iamge widget")
                );

                Builder.AddEditableText(
                        LOCTEXT("EditableText", "EditableText"),
                        LOCTEXT("EditableText_Tips", "EditableText_Tips"),
                        FSlateIcon(),
                        LOCTEXT("Text", "Hello World!!!")
                );
        }
        Builder.EndSection();

        Builder.AddMenuSeparator();
        Builder.AddMenuEntry(FSimpleEditorsCommands::Get().PluginAction);
        Builder.AddMenuEntry(FSimpleEditorsCommands::Get().PluginAction);
}

  • 补充说明

    • Builder.AddSubMenu(); 可以扩展下拉菜单的子菜单
    • FExtender类的AddMenuBarExtension可以扩展菜单栏;AddMenuExtension可以扩展菜单;AddToolBarExtension可以用来扩展工具栏菜单

NEXT:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 14:56 , Processed in 0.089956 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表