안녕하세요.. 죄송합니다.. 너무 많이 질문해서.. ^^"
그래도 궁금한걸 물어볼데가 없어서.. 이뿌게 봐주세여.. *^^*
제목과 그대로.. RichEdit에 적히는 글들 중에.. 콤보박스에서 바꿔준 색상이
14번째 줄에만 가면 어떤색이 설정되어 있든지 검은색으로 나옵니다..
소스를 올리오니 한번 봐 주시와요..
---------------------------------------------------------
procedure TchatForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (not(Edit1.text = '')) and (Key = #13) then
begin
// 13줄이 되면 스크롤 바를 생기게 한다.
if RichEdit1.Lines.Count > 12 then
begin
RichEdit1.SelAttributes.Color := Edit1.Font.Color;
RichEdit1.ScrollBars := ssVertical;
end;
// 150줄 넘으면 맨처음에 올라온 글을 지운다.
if RichEdit1.Lines.Count >= 150 then
begin
RichEdit1.Lines.Delete(0);
end;
// RichEdit 에 쓸때 색깔 적용시키는 부분..
RichEdit1.SelAttributes.Color := Edit1.Font.Color;
RichEdit1.Lines.Add(Edit1.Text);
Edit1.text := '';
// 마지막줄이 보이기 함..
RichEdit1.SelLength := 0;
RichEdit1.SelStart := RichEdit1.GetTextLen; // caret의 마지막위치
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
end;
end;
// 글자색 변경 선택 시
procedure TchatForm.ComboBox1Click(Sender: TObject);
begin
if ComboBox1.ItemIndex = 0 then Edit1.Font.Color := clBlack
else if ComboBox1.ItemIndex = 1 then Edit1.Font.Color := clBlue
else if ComboBox1.ItemIndex = 2 then Edit1.Font.Color := clRed
else if ComboBox1.ItemIndex = 3 then Edit1.Font.Color := clPurple
else if ComboBox1.ItemIndex = 4 then Edit1.Font.Color := clTeal
else if ComboBox1.ItemIndex = 5 then Edit1.Font.Color := clGreen;
end;
---------------------------------------------------
왜그런지 그 이유는 잘 모르겠군요...
> if (not(Edit1.text = '')) and (Key = #13) then
> begin
>>>>>>>>> // 150줄 넘으면 맨처음에 올라온 글을 지운다.
> if RichEdit1.Lines.Count >= 150 then
> RichEdit1.Lines.Delete(0);
>
> // RichEdit 에 쓸때 색깔 적용시키는 부분..
> RichEdit1.SelAttributes.Color := Edit1.Font.Color;
> RichEdit1.Lines.Add(Edit1.Text);
> Edit1.text := '';
>
>>>>>>>>> // 13줄이 되면 스크롤 바를 생기게 한다.
> if RichEdit1.Lines.Count > 12 then
> RichEdit1.ScrollBars := ssVertical;
>
이수정 wrote:
> 안녕하세요.. 죄송합니다.. 너무 많이 질문해서.. ^^"
> 그래도 궁금한걸 물어볼데가 없어서.. 이뿌게 봐주세여.. *^^*
>
> 제목과 그대로.. RichEdit에 적히는 글들 중에.. 콤보박스에서 바꿔준 색상이
> 14번째 줄에만 가면 어떤색이 설정되어 있든지 검은색으로 나옵니다..
>
> 소스를 올리오니 한번 봐 주시와요..
>
> ---------------------------------------------------------
> procedure TchatForm.Edit1KeyPress(Sender: TObject; var Key: Char);
> begin
>
> if (not(Edit1.text = '')) and (Key = #13) then
> begin
> // 13줄이 되면 스크롤 바를 생기게 한다.
> if RichEdit1.Lines.Count > 12 then
> begin
> RichEdit1.SelAttributes.Color := Edit1.Font.Color;
> RichEdit1.ScrollBars := ssVertical;
> end;
>
> // 150줄 넘으면 맨처음에 올라온 글을 지운다.
> if RichEdit1.Lines.Count >= 150 then
> begin
> RichEdit1.Lines.Delete(0);
> end;
>
> // RichEdit 에 쓸때 색깔 적용시키는 부분..
> RichEdit1.SelAttributes.Color := Edit1.Font.Color;
> RichEdit1.Lines.Add(Edit1.Text);
> Edit1.text := '';
>
> // 마지막줄이 보이기 함..
> RichEdit1.SelLength := 0;
> RichEdit1.SelStart := RichEdit1.GetTextLen; // caret의 마지막위치
> RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
> end;
> end;
>
>
> // 글자색 변경 선택 시
> procedure TchatForm.ComboBox1Click(Sender: TObject);
> begin
> if ComboBox1.ItemIndex = 0 then Edit1.Font.Color := clBlack
> else if ComboBox1.ItemIndex = 1 then Edit1.Font.Color := clBlue
> else if ComboBox1.ItemIndex = 2 then Edit1.Font.Color := clRed
> else if ComboBox1.ItemIndex = 3 then Edit1.Font.Color := clPurple
> else if ComboBox1.ItemIndex = 4 then Edit1.Font.Color := clTeal
> else if ComboBox1.ItemIndex = 5 then Edit1.Font.Color := clGreen;
> end;
>
> ---------------------------------------------------
>
>