채팅프로그램 만들고 있습니다.
색상을 지정했을때 대화명은 기본폰트 대화내용은 지정된 색상으로 뿌리기 위해
대화명 담의 대화내용 시작부분을 Selstart프로퍼티를 이용해서 대입이 하려는데 안되네요..
예를들어 다음과 같은 대화내용을 리치에디트에 보여주고자 한다면
홍길동: 멋진 델파이.
와 같은 대화내용을 올릴때 "홍길동:" 은 검정, "멋진 델파이."는 빨강으로 하기위해
다음과 같은 방식을 사용하면 Selstart프로퍼티에 값이 대입이 안되요..
RichEdit1.Selstart := 34; // 34는 맨 마지막 문자열 위치에서 대화명의 길이만큼 더한값
RichEdit1.SelAttributes.Name := '돋움';
RichEdit1.SelAttributes.Color := clRed;
// RichEdit1.Selstart 에 아무 정수값이나 넣어줘도 대입이 안되고 늘 34이며
// 홍길동: 멋진 델파이. 몽땅 빨강색으로 보여지네요...
RichEdit1.SelAttributes.Name := '돋움';
RichEdit1.SelAttributes.Color := clRed;
이렇게 하신다면 SelStar부터 모든 글자가 돋움에 빨간색으로 보일것 같군요..
SelStart; 하신후
SelLength를 하나 더 추가해 보세요..
RichEdit1.SelLength := 6; (이름의 Length)
그럼.. ^^;
초보 wrote:
> 채팅프로그램 만들고 있습니다.
> 색상을 지정했을때 대화명은 기본폰트 대화내용은 지정된 색상으로 뿌리기 위해
> 대화명 담의 대화내용 시작부분을 Selstart프로퍼티를 이용해서 대입이 하려는데 안되네요..
>
> 예를들어 다음과 같은 대화내용을 리치에디트에 보여주고자 한다면
>
> 홍길동: 멋진 델파이.
>
> 와 같은 대화내용을 올릴때 "홍길동:" 은 검정, "멋진 델파이."는 빨강으로 하기위해
> 다음과 같은 방식을 사용하면 Selstart프로퍼티에 값이 대입이 안되요..
>
> RichEdit1.Selstart := 34; // 34는 맨 마지막 문자열 위치에서 대화명의 길이만큼 더한값
> RichEdit1.SelAttributes.Name := '돋움';
> RichEdit1.SelAttributes.Color := clRed;
>
> // RichEdit1.Selstart 에 아무 정수값이나 넣어줘도 대입이 안되고 늘 34이며
> // 홍길동: 멋진 델파이. 몽땅 빨강색으로 보여지네요...
>