0

我遇到了 CRichEditCtrl 的问题。我想使用表格来格式化要显示的生成文本。在 rtf 1.5 规范中它说,我必须指定一个表格边框来显示任何但显然 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"

这两种方式都行不通。结果总是一样的。

也许这里有人知道如何禁用这个,显然,默认边框。我想禁用或隐藏这个边框。也许在控件中有一个设置,我还没有发现。

4

1 回答 1

0

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

于 2015-12-05T07:40:41.523 回答