How to add customized button to SM30.

本文介绍如何使用SE11创建自定义表的SM30维护界面,通过SE41复制标准状态,SE80中添加按钮,并调整事件以启用定制化的界面操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. SE11, 为一个自建表创建SM30维护界面.

2. SE41, 从程序SAPLSVIM Copy User interface 到对应FG的主程序. (copy 标准的status)

3. SE80, 打开FG, 找到status EULG, 并添加对应按钮.

4. SE11, 进入表维护界面创建界面, Environment->Modification->Events, 添加ST|FD对应程序名至表格中, 保存. (调用我们改过的status)


运行SM30检测, 按钮成功添加.

<think>好的,用户现在想了解如何在UnrealEngine打包后启用自定义编辑器模式。之前他们问过联邦模拟模式(FedMode)的启用方法,现在转向自定义编辑器模式,需要区分这两个概念。首先,我需要明确自定义编辑器模式通常指的是在编辑器中扩展功能,但用户提到的是打包后的启用,这可能涉及到在打包后的可执行文件中保留或激活某些编辑器功能,这在UE中并不常见,因为打包后的版本通常是去掉编辑器的。接下来,我需要考虑用户可能的真实需求。他们可能在开发一个需要特定工具或模式的应用,希望在打包后的版本中保留这些编辑器功能,比如用于调试或特定用户操作。因此,需要指导如何将自定义编辑器模式编译进游戏可执行文件,并在运行时激活。 步骤方面,首先需要创建自定义的编辑器模块,确保在打包时包含该模块。UE默认在打包时排除编辑器代码,所以必须修改.uproject文件,添加“bBuildEditor”为true。但这样会增加包体大小,可能不符合最佳实践,需要提醒用户注意。 然后,关于启动参数,可能需要通过命令行参数来激活自定义模式,类似于之前的FedMode方法。例如,使用“-EditMode”来触发。同时,需要代码中检查是否处于编辑器环境,并响应命令行参数。 另外,插件依赖也是一个重点,需要确保相关插件如Slate、UnrealEd被包含在打包配置中,否则模块无法加载。用户可能遇到的问题包括模块未正确编译、命令行参数无效、资源加载失败等,需要给出排查建议,比如检查日志、验证插件包含情况。最后,生成的相关问题要围绕自定义编辑器模式的扩展,比如数据保存、多语言支持、性能影响等,帮助用户全面了解后续可能的需求。</think>在Unreal Engine中启用自定义编辑器模式(Customized Editor Mode)并使其在打包后可用,需解决两个核心问题: 1. **保留编辑器功能** 2. **实现模式切换逻辑** ### 一、保留编辑器功能 $$ \text{打包配置满足} \quad bBuildEditor = \text{true} \quad \text{且} \quad bWithEditor = \text{true} $$ 1. 修改`.uproject`文件配置: ```json { "Modules": [ { "Name": "YourProject", "Type": "Runtime", "LoadingPhase": "Default", "AdditionalDependencies": ["UnrealEd"] } ], "TargetPlatforms": ["Win64"], "bBuildEditor": true } ``` - `UnrealEd`依赖确保编辑器代码被编译到可执行文件中[^1] 2. 在`Project Settings > Packaging`中取消勾选`Exclude Editor Content` ### 二、自定义编辑器模式实现 ```cpp // 在YourEditorMode模块中继承FEdMode class FYourCustomEdMode : public FEdMode { virtual void Enter() override { // 激活自定义编辑器的UI和工具 SAssignNew(Widget, SYourEditorWidget); GEditor->GetEditorWorldContext().Window->AddMenuExtension(Widget.ToSharedRef()); } static FName ModeId; }; IMPLEMENT_EDITOR_MODE(FYourCustomEdMode, "YourEdMode"); ``` ### 三、打包后激活模式 通过命令行参数启动编辑器模式: ```bash YourProject.exe -game -edmode=YourEdMode ``` - `-game`参数允许在游戏窗口中嵌入编辑器功能 - 在代码中检查启动参数: ```cpp if (FParse::Param(FCommandLine::Get(), TEXT("edmode"))) { GLevelEditorModeTools().ActivateMode(FYourCustomEdMode::ModeId); } ``` ### 四、关键配置验证 | 配置项 | 预期值 | 验证方法 | |--------|--------|----------| | `bBuildEditor` | true | 检查`.uproject`文件 | | 插件依赖 | `UnrealEd` | 编译日志无缺失符号错误 | | 资源路径 | `/Engine/Editor/...` | 打包后资源存在性检查 | ### 五、常见问题排查 1. **模式未激活** - 检查`DefaultEngine.ini`中是否包含`+EditModes=YourEdMode` 2. **UI元素丢失** - 使用`Slate Widget Reflector`工具调试界面树[^2] 3. **性能下降** - 设置`r.Editor.EnableGameRendering=0`关闭冗余渲染管线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值