EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:自定义RTF编辑器

在模型编辑器中

本节将展示如何使用模型编辑器定制富文本属性编辑器的WinForms或ASP.NET项目

为详细信息视图指定MenuManagerType

RichTextPropertyEditor菜单管理器包含一个色带控制酒吧,和ASPxRichTextPropertyEditor菜单管理器中只包含了功能区控制

导航到视图| <DetailView> | 物品| <PropertyEditor>节点并设置编辑器的MenuManagerTypeWinForms / ASP.NET)。

在ASP.NET应用程序中,功能区控件以“单行模式”显示。若要更改功能区模式或在代码中显示/隐藏功能区控件,请调用ASPxRichTextPropertyEditorSetRibbonMode方法,如下所示。在这种情况下,请勿使用ASPxRichEdit.RibbonMode属性,因为功能区控件可能显示不正确。

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Office.Web;
using DevExpress.Web.ASPxRichEdit;
// ...
public class WebRichTextRibbonController : ObjectViewController<DetailView, Document> {
    protected override void OnActivated() {
        base.OnActivated();
        ASPxRichTextPropertyEditor richTextPropertyEditor = View.FindItem("Text") as ASPxRichTextPropertyEditor;
        if (richTextPropertyEditor != null) {
            RichEditRibbonMode mode = RichEditRibbonMode.Ribbon;
            richTextPropertyEditor.SetRibbonMode(mode);
        }
    }
}

更改文件存储格式

设置BOModel | <类别> | 会员| <成员>节点的DocumentStorageFormat属性到您希望用于字符串属性的文档存储格式(RTF或HTML)。

字节数组属性的格式始终为DOCX。

在列表视图中指定列高

在WinForms应用程序中,富文本编辑器的高度是固定的,并且等于单行编辑器的高度。在ASP.NET应用程序中,富文本编辑器的高度是根据编辑器的内容计算的。指定 视图| <ListView> | | <Column>节点的CustomHeightWinForms / ASP.NET)来更改编辑器的高度。

在代码中

自定义WinForms RichTextPropertyEditor菜单

RichTextPropertyEditor菜单不显示所有可用工具栏和功能区选项卡。使用静态RichTextPropertyEditor.DefaultRichEditToolbarType属性来自定义工具栏。可用的工具栏和选项卡在RichEditToolbarType枚举中列出。

using DevExpress.XtraRichEdit;
using DevExpress.ExpressApp.Office.Win;
// ...
RichTextPropertyEditor.DefaultRichEditToolbarType = 
    RichEditToolbarType.Home | RichEditToolbarType.Insert | RichEditToolbarType.File | 
    RichEditToolbarType.FloatingObject | RichEditToolbarType.Table | RichEditToolbarType.HeaderFooter;

处理MenuManagerController.CustomizeRichEditToolbarType事件以仅更改特定编辑器的工具栏和选项卡:

  1. WinForms Module项目中,创建一个View Controller

  2. 访问MenuManagerController并在重写的OnActivated方法中预订其CustomizeRichEditToolbarType事件。

  3. 在事件处理程序中,指定CustomizeRichEditToolbarTypeEventArgs.RichEditToolbarType属性。

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Office.Win;
using DevExpress.XtraRichEdit;
// ...
public class CustomRichEditController : ViewController {
    protected override void OnActivated() {
        base.OnActivated();
        MenuManagerController controller = Frame.GetController<MenuManagerController>();
        if (controller != null) {
            controller.CustomizeRichEditToolbarType  = Controller_CustomizeRichEditToolbarType;
        }
    }
    private void Controller_CustomizeRichEditToolbarType(object sender, CustomizeRichEditToolbarTypeEventArgs e) {
        e.RichEditToolbarType = 
            RichEditToolbarType.Home | RichEditToolbarType.Insert | RichEditToolbarType.File | 
            RichEditToolbarType.FloatingObject | RichEditToolbarType.Table | RichEditToolbarType.HeaderFooter;
    }
}

您还可以在运行时自定义Bars菜单。结果保存到用户的模型差异中。

为ASPxRichTextPropertyEditor设置默认字体和边距

  1. 创建视图控制器并按照“访问UI元素及其控件的方式”主题中的描述访问ASPxRichTextPropertyEditor
  2. 订阅CustomizeRichEditDocumentServer事件。
  3. 在事件处理程序中,访问RichEditDocumentServer对象,获取该对象包含的文档,并更改用于新文档的默认设置。
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Office.Web;
using DevExpress.XtraRichEdit;
using System;
// ...
public class CustomizeRichDocumentSettingController : ViewController<DetailView> {
    protected override void OnActivated() {
        base.OnActivated();
        foreach(ASPxRichTextPropertyEditor editor in View.GetItems<ASPxRichTextPropertyEditor>()) {
            editor.CustomizeRichEditDocumentServer  = Editor_CustomizeRichEditDocumentServer;
        }
    }
    private void Editor_CustomizeRichEditDocumentServer(object sender, CustomizeRichEditDocumentServerEventArgs e) {
        e.RichEditDocumentServer.EmptyDocumentCreated  = RichEditDocumentServer_EmptyDocumentCreated;
    }
    private void RichEditDocumentServer_EmptyDocumentCreated(object sender, EventArgs e) {
        RichEditDocumentServer documentServer = (RichEditDocumentServer)sender;
        var document = documentServer.Document;
        document.Sections[0].Margins.Top = 0.5f;
        document.Sections[0].Margins.Left = 0.5f;
        document.Sections[0].Margins.Bottom = 0.5f;
        document.Sections[0].Margins.Right = 0.5f;
        var characterProperties = document.BeginUpdateCharacters(document.Range);
        characterProperties.FontName = "Times New Roman";
        characterProperties.FontSize = 12;
        document.EndUpdateCharacters(characterProperties);
    }
    protected override void OnDeactivated() {
        foreach(ASPxRichTextPropertyEditor editor in View.GetItems<ASPxRichTextPropertyEditor>()) {
            editor.CustomizeRichEditDocumentServer -= Editor_CustomizeRichEditDocumentServer;
        }
    }
}
相关文章

转载保留此链接,注明出处