C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[51393] [질문] SynEdit 사용법 관련.
무명 [] 1920 읽음    2007-11-28 17:45
안녕하세요.  SynEdit 사용법과 관련한 도움을 받고자 이렇게 글올립니다.

TSynEdit 가 Gutter 기능과 워드랩은 줄번호로 카운트 하지 않는 기능을 잘 갖추고 있어,
SynEdit를 사용할 계획인데요.

Editor 화면에서 일부 단어들을(랜덤하게) 다른색으로(글씨색 혹은 배경색)으로 그려주고자 합니다.
그런데,
TRxRichEdit 에서는 selection을 설정하고 선택된 부분의 색을 바꾸어주고, 다시 다른 selection하여도
기존의 selection에서 설정한 속성이 유지된채 새로운 선택영역에 다른 설정을 부여할 수가 있는데요.
SynEdit에서는 richedit를 고려하지 않고 설계되어서 인지. 기존 선택에 적용된 속성을 유지시킬 방법이 제공되지 않는 것 같습니다. SynEdit가 가지고 있는 기능들을 볼때 충분히 가능은 한것으로 보이는데 말입니다.

혹, 비슷한 고민을 하셨었거나, 아이디어가 있으시면 조언 부탁드립니다.
질문의 이해를 위해 아래에 샘플 코드를 첨부합니다.

1.

SynEdit->SelStart = 10;
SynEdit->SelEnd = 20;
SynEdit->SelectedColor->Background = clRed;

SynEdit->SelStart = 30;
SynEdit->SelEnd = 40;
SynEdit->SelectedColor->Background = clBlue;

// -> 먼저 선택되었던 Red가 사라지고 Blue영역만 표지됨

----------------------------------------------------------
2.

RxRichEdit1->SetSelection(10,20,false);
RxRichEdit1->SelAttributes->BackColor = clRed;

RxRichEdit1->SetSelection(30,40,false);
RxRichEdit1->SelAttributes->BackColor = clBlue;

// -> 먼저 선택되었던 Red영역이 유지된 채 Blue영역이 표지됨

SynEdit에서 2. 처럼 되도록 할 방법을 알고싶네요.
혹은 SynEdit와 같은 Gutter기능을 가지는 RichEdit 컴포넌트를 추천해 주셔도 좋습니다.

아 그리고 SynEdit의 SyntaxHighLight를 쓸 수는 없습니다. 한글 단어를 강조하기위해 위의 방법을 이용하려는 것입니다.
읽어주셔서 감사합니다.

+ -

관련 글 리스트
51393 [질문] SynEdit 사용법 관련. 무명 1920 2007/11/28
51429     Re:[질문] SynEdit 사용법 관련. 무명 1301 2007/12/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.