T= RichTextBox 1개와 T2= TextBox 1개를 만듭니다.
버튼을 3개 그리세요~
Private Sub Command1_Click()
T.Text = "AA하하호BB호히히히XX"
T.SelStart = 1
T.SelLength = 2
T.SelColor = vbRed
T.SelStart = 4
T.SelLength = 2
T.SelColor = vbGreen
T.SelFontName = "궁서"
End Sub
Private Sub Command2_Click()
T.Text = ""
T.SelRTF = T2.Text
End Sub
Private Sub Command3_Click()
T.SelStart = 0
T.SelLength = Len(T)
T2.Text = T.SelRTF
End Sub
RTF 값에서 얻은 코드는 아래와 같습니다.
대부분 \f 로 시작하면 명령어로 처리 하며,
\cf 는 폰트의 색상을 처리하고 \' 로 시작하면 2 Byte로 처리합니다.
첫번째 대괄호는 폰트 정보이며,
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset129 \'b1\'bc\'b8\'b2;}{\f1\fnil\fcharset129 \'b1\'c3\'bc\'ad;}}
두번째 대괄호는 색상 정보입니다.
{\colortbl ;\red255\green0\blue0;\red0\green255\blue0;}
아래 코드는 ?? 아직 모르겠네요~
\uc1\pard\lang1042
\f0 // 0 번째 폰트선택( 상단에 빨간색 부분 입니다. 폰트명이 기재되어 있습니다. )
\fs18 // 폰트 사이즈를 의미 합니다.
A // 'A' 출력
\cf1 // 컬러를 1번째 색상 정보를 사용하네요. Red 입니다.
A // 'A' 출력
\'c7\'cf // '하' 출력
\cf0 // 컬러를 0번째 즉, 기본값 Black 으로 변경합니다.
\'c7\'cf // '하' 출력
\cf2 // 컬러를 2번째 색상 정보를 사용합니다. Green 입니다.
\f1 // 1 번째 폰트선택( 상단에 파란색 부분 입니다. 다른 폰트명이 기재되어 있네요 )
\'c8\'a3 // '호' 출력
B // 'B' 출력
\cf0 // 컬러를 0번째 Black 으로 변경합니다.
\f0 // 폰트도 0번째로 변경합니다.
B // 'B' 출력
\'c8\'a3 // '호' 출력
\'c8\'f7 // '히' 출력
\'c8\'f7 // '히' 출력
\'c8\'f7 // '히' 출력
X // 'X' 출력
X // 'X' 출력
}
하아~ 이로써 Color 정보에 대한 분석을 마쳤습니다.
도움이 되시는 분들이 있기를~~!!
참고 주소 : https://msdn.microsoft.com/ko-kr/library/ee681613(v=vs.95).aspx