【问题标题】:How to disable RTF table borders in an CRichEditCtrl?如何在 CRichEditCtrl 中禁用 RTF 表格边框?
【发布时间】:2015-01-15 07:49:26
【问题描述】:

我遇到了 CRichEditCtrl 的问题。我想使用表格来格式化要显示的生成文本。在 rtf 1.5 specs 它说,我必须指定一个表格边框来显示任何但显然 CRichEditCtrl 的一些默认设置仍然设置它们。

这段代码:

    CString sDoc =_T("{\\rtf1\\ansi\\deff0" 
                "\\trowd\\trgaph144 "
                    "\\cellx500"
                    "\\cellx3000"
                    "\\cellx5000"
                    "\\cellx7000"
                    "\\intbl 01 \\cell"
                    "\\intbl Hexachlorbenzol \\cell"
                    "\\intbl 500.00 mg \\cell"
                    "\\intbl WST \\cell"
                "\\row"
            "}");

EDITSTREAM es;
es.dwCookie = (DWORD)&sDoc;
es.pfnCallback = MEditStreamInCallback;
edtInfo.StreamIn(SF_RTF, es);

结果:

我尝试将单元格的边框宽度设置为 0,将边框颜色设置为白色,设置为 0。

"\\clbrdrt\\brdrw0\\clbrdrl\\brdrw0\\clbrdrb\\brdrw0\\clbrdrr\\brdrw0"

 "\\clbrdrt\\brdrcf0\\clbrdrl\\brdcf0\\clbrdrb\\brdrcf0\\clbrdrr\\brdrcf0"

这两种方法都不起作用。结果总是一样的。

也许这里有人知道如何禁用这个,很明显,默认边框。我想禁用或隐藏这个边框。可能控件里面有设置,我还没发现。

【问题讨论】:

  • 如果您找到答案,请告诉我。我认为这是控制的一些问题。我可以正确格式化表格以隐藏或显示我想要的任何边框,并使用 Word 打开该 RTF 并正确显示。使用 Rich Edit 控件,它总是显示边框。

标签: visual-studio-2010 visual-c++ mfc rtf cricheditctrl


【解决方案1】:

Rich Edit 3 控件始终显示带边框的表格。如果您希望控制边界,可以升级您的代码以使用 Rich Edit 4.1。如果您对表格做很多事情,您会发现 Rich Edit 4.1 更胜一筹。它支持单元格中的多个段落、单元格中的文本对齐等。

有关要加载的 DLL 和 Rich Edit 4.1 的类名,请参见 https://msdn.microsoft.com/en-us/library/windows/desktop/bb787873%28v=vs.85%29.aspx。 Rich Edit 4.1 可用于 Windows XP SP1 及更高版本。有关不同版本的更多信息,请参阅http://blogs.msdn.com/b/murrays/archive/2006/10/14/richedit-versions.aspx

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 2023-04-03
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多