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

Posted by +깡통+