제목이 조금 이상합니다만...
RxRichEdit를 이용하여 메모장을 한번 만들어보고 있는데
이해 불능의 사태가 생겨서 질문을 드립니다.
처음 프로그램을 실행하면 SelAttributes 속성이 전혀 먹히질 않습니다.
색상도 바꿔보고 폰트도 바꿔보고 해도 전혀 먹히질 않죠.
헌데, 프로그램 실행 후 단 한번이라도 WordWrap 속성을 바꿔주기만하면
SelAttributes 속성이 먹힙니다만 조금 상태가 이상합니다.
아래쪽과 같이 설명 드릴 수가 있겠군요.
procedure TForm_Main.WordWrap속성 변경;
begin
모든 폰트 설정 초기화;
end;
procedure TForm_Main.FontDialog1Close(Sender: TObject);
begin
if RxRichEdit1.Text = '' then Exit;
Case WordWrap 속성 of
한번도 변경 안하면: SelAttributes 속성 완전 무시;
한번이라도 변경하면: begin
if WordWrap := False then begin
if WordWrap이 이전에 한번이라도 True 였다 then
SelAttributes 속성 지정 완료
else
SelAttributes 속성 완전 무시;
end
else
SelAttributes 속성 지정 완료;
end;
end;
end;
특이한건 DefAttributes 속성은 그것과 관계없이 잘 먹힌다는 것입니다.
다만 처음으로 DefAttributes 속성을 지정했을때는
RxRichEdit에 Properties 에서 지정한 폰트 속성이 먹힌다는 점만 빼구요.
WordWrap 속성을 변경시에 RxRichEdit가 깜빡거리고 폰트 설정이 초기화 되는 걸로 봐서
WordWrap 속성이 변경되면 RxRichEdit가 새로 그려지는 것 같은데
무엇때문인지 잘 모르겠군요.
RxRichEdit에 아무런 Text가 없으면 역시나 속성지정이 되질 않고...
혹시 XPMenu가 간섭을 하는것인지 생각해 봤지만
XPMenu를 제거해봐도 동일하고
ActionList에서 코드를 작성한게 문제일까 싶어서 MainForm에다가 작성해봐도 동일하고
DataModule를 쓴것이 문제일까 싶어서 DataModule을 제거해봐도 동일하고...
파일에서 불러오면서 속성지정을 해봐도 역시 WordWrap 속성을 위와 같이
조건이 만족하게 바꿔줘야 되고...
너무 답답합니다.
이 문제에 대해 아시는 분이 계시면 답변 좀 부탁 드리겠습니다.
어떻게 해결이 되질 않으니 원...