2015-01-15 2 views
0

У меня возникла проблема с CRichEditCtrl. Я хотел бы использовать таблицу для форматирования сгенерированного текста для отображения. В rtf 1.5 specs говорится, что я должен указать границу таблицы для отображения любых, но, по-видимому, некоторые настройки по умолчанию для CRichEditCtrl их все равно устанавливают.Как отключить границы таблицы RTF в 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); 

приводит:

Output

Я попытался установить ширину границы ячейки до 0 и Борда цвета от белого до 0.

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

или

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

Это не работает в любом случае. Результат всегда один и тот же.

Возможно, кто-то здесь знает, как отключить эту, очевидно, границу по умолчанию. Я хочу отключить или скрыть эту границу. Возможно, в управлении есть настройка, я еще не обнаружил.

+1

Пожалуйста, дайте мне знать, если найдете ответ. Я думаю, что это проблема с контролем. Я могу правильно форматировать таблицу, чтобы скрыть или отобразить любые границы, которые я хочу, и открыть RTF с помощью Word, и он отобразится правильно. С помощью элемента управления 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 с пакетом обновления 1 (SP1) и выше. Для получения дополнительной информации о различных версиях см. http://blogs.msdn.com/b/murrays/archive/2006/10/14/richedit-versions.aspx

Смежные вопросы