Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Форматирование


Автор: Papirus 1.7.2005, 08:17
Вставленный из ворда в RichTextBox текст имеет интервалы, установленные в самом ворде (перед и после, междустрочный - меню Формат-Абзац). Теперь, если надо что-то попечатать применяется это форматирование. Со шрифтом я разобрался, а с интервалами нет. Не получается их изменить. В MSDN'e не нашел, но очень надеюсь, что плохо искал. Язык использую VB, но C# пойму. Заранее мерси.
smile
Код

With Me.RichTextBox1
            .Select(0, 0)
            .SelectedText = str
            .Select(0, str.Length)
            .SelectionFont = New System.Drawing.Font("Arial Cyr", 10, FontStyle.Regular)
            .?????? 'здесь хорошо бы указать интервал между абзацами, т.к.
                       'текст, вставленный из ворда имеет 
                        'интервалы: перед абзацем =12 и после =6.
End With


Автор: mr.DUDA 1.7.2005, 14:14
Только через Win32 API, используя сообщение EM_SETPARAFORMAT и структуру PARAFORMAT2: dwMask = PFM_SPACEAFTER | PFM_SPACEBEFORE; dySpaceAfter = ... (in twips); dySpaceBefore = ... (аналогично). Если очень нужно будет - напишу исходник.

Автор: Papirus 4.7.2005, 08:17
Большое спасибо за помощь. Но сначала я попробую как посоветовали на исходниках
http://forum.sources.ru/index.php?showtopic=100820&st=0&#entry766408

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)