2009-09-28 4 views
1

TRichEdit에 줄을 추가하고 있습니다. 방금 추가 한 줄에 어떻게 초점을 맞추고 있습니까?Delich의 TRichEdit 스크롤링 문제

For Idx := 1 to 1000 do 
    RichEdit.Lines.add(IntToStr(Idx)); 

편집

난 그냥 표시하는 리치 에디트의 결론은 무엇 단지 첨가하고 다른 모든 라인) 당신이

옵션 1을 시도 할 수 있습니다

+0

"포커스"는 일반적으로 컨트롤에 사용됩니다. 방금 추가 된 텍스트를 선택 (다음 작업으로 붙여 넣기 할 것임)하거나, 마지막에 추가 된 행에 삽입 점을 유지하면 (결과적으로 하나의 매우 긴 행을 붙여 넣음) 또는 아마도 당신은 부자의 맨 아래로 스크롤하고 싶다는 뜻입니까? – Argalatyr

+0

이 답변도 참조하십시오 : [포커스가없는 RichEdit 스크롤] (http://stackoverflow.com/a/9757314/576719). –

답변

5

그냥 리치 에디트의 끝으로 이동하려는 경우가 작동해야합니다

For Idx := 1 to 1000 do 
begin 
    RichEdit.Lines.add(IntToStr(Idx)); 
    RichEdit.SelStart := RichEdit.GetTextLen; 
    SendMessage(RichEdit.handle, EM_SCROLLCARET,0,0); 
end; 

을이 당신이 원하는 무엇을하지 않은 경우, 위의 내 댓글을보고 질문을 명확히하십시오.

+0

감사합니다 -이 작품은 멋지게 :) –

3

을 스크롤 할 것 루프가 완료되면 커서를 설정하십시오.

For Idx := 1 to 1000 do 
    RichEdit.Lines.add(IntToStr(Idx)); 

RichEdit.SetFocus; 
RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, RichEdit.Lines.Count-1, 0) ; 

옵션 2) curso 루프가 실행되는 동안 루프

For Idx := 1 to 1000 do 
Begin 
RichEdit.Lines.add(IntToStr(Idx)); 
RichEdit.SetFocus; 
End; 

RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, RichEdit.Lines.Count-1, 0) ; 

안녕히 가십시오.