Как задать свои параметры RTF? - VB
Формулировка задачи:
Подскажите пожалуйста как в RichTextBox задать текст в ртф формате по своему (с нуля, начиная с заголовка)?
Дело в том, что я задаю текст в свойство TextRTF, но оно не задает заголовок и другие опции:
Вот ртф, который я задаю:
А в итоге в RTB.TextRTF содержится такой текст:
Решение задачи: «Как задать свои параметры RTF?»
textual
Листинг программы
Option Explicit
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private hLib As Long
Private Sub Command1_Click(Index As Integer)
With RichTextBox1
Select Case Index
Case 0
.SelBold = Not .SelBold
Case 1
.SelItalic = Not .SelItalic
Case 2
'
'Вставляем полученный RTF в буфер обмена после чего его можно присвоить константе rtf
'Заменяем служебный символ новой строки на свой символ "[vbCrLf]"
'
With Clipboard
.Clear
.SetText Replace(RichTextBox1.TextRTF, vbCrLf, "[vbCrLf]")
End With
End Select
End With
End Sub
Private Sub Form_Load()
'
'Вставка кода RTF в поле RichTextBox1
'
Const rtf = "{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}{\f1\fswiss\fcharset0 Arial;}{\f2\fnil\fcharset204 MS Sans Serif;}}[vbCrLf]{\*\generator Msftedit 5.41.15.1517;}\viewkind4\uc1\pard\b\f0\fs17\'ca\'ee\'ef\'e8\'f0\'f3\'e5\'ec \b0\i\'ef\'ee\'eb\'f3\'f7\'e5\'ed\'ed\'fb\'e9 \lang1033\b\f1 RTF\lang1049\b0\i0\f2\par[vbCrLf]}[vbCrLf]"
RichTextBox1.TextRTF = Replace(rtf, "[vbCrLf]", vbCrLf)
End Sub
Private Sub Form_Initialize()
hLib = LoadLibrary("shell32.dll")
InitCommonControls
End Sub
Private Sub Form_Unload(Cancel As Integer)
FreeLibrary hLib
End Sub