2015-01-15 27 views
0

我遇到了CRichEditCtrl的問題。我想用表格來格式化生成的文本來顯示。在rtf 1.5 specs它說,我必須指定一個表格邊框來顯示任何,但顯然CRichEditCtrl的一些默認設置無論如何設置它們。如何禁用CRichEditCtrl中的RTF表格邊框?

此代碼:在

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); 

結果:

Output

我試圖單元格的邊框寬度設置爲0,伯德顏色爲白色0

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

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

它不工作。結果總是一樣的。

也許有人在這裏知道如何禁用這個,顯然,默認邊框。我想要禁用或隱藏這個邊框。也許在控制中有一個設置,我還沒有發現。

+1

如果找到答案,請讓我知道。我認爲這是控制問題。我可以正確格式化表格以隱藏或顯示任何我想要的邊框,並使用Word打開RTF並正確顯示。使用Rich Edit控件時,它總是顯示邊框。 –

回答

0

Rich Edit 3控件始終顯示帶有邊框的表格。如果您希望控制邊界,則可以升級代碼以使用Rich Edit 4.1。如果你對錶格做了很多工作,你會發現Rich Edit 4.1的優越性。它支持單元格中的多個段落,單元格內的文本對齊等。

請參閱https://msdn.microsoft.com/en-us/library/windows/desktop/bb787873%28v=vs.85%29.aspx以加載DLL和Rich Edit 4.1的類名稱。 Rich Edit 4.1在Windows XP SP1和更高版本上可用。有關不同版本的更多信息,請參閱http://blogs.msdn.com/b/murrays/archive/2006/10/14/richedit-versions.aspx