我遇到了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"
它无论如何都无效。结果总是一样的。
也许这里有人知道如何禁用它,显然是默认边框。我想禁用或隐藏此边框。也许在控制中有一个设置,我还没有发现。
答案 0 :(得分: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