Q&A

  • 리치에디터에서 찿기기능을 어떻게?
리치에디터로 메모장을 만드는데 찾기 기능이 구현이 안되서 미치겠습니다. 컴포넌트를 이용해서 다음찿기는 되는데 뒤로찿기가 안됩니다. 어떻게 하는지 궁금해서 이렇게 글을 올립니다. 아시는 분은 가르쳐주세요
1  COMMENTS
  • Profile
    이추형 2002.03.01 02:52
    RichEdit.FindText 가 있습니다.

    procedure TForm1.FindDialog1Find(Sender: TObject);
    var
      FoundAt: LongInt;
      StartPos, ToEnd: Integer;
    begin
      with RichEdit1 do
      begin
        { begin the search after the current selection if there is one }
        { otherwise, begin at the start of the text }
        if SelLength <> 0 then

          StartPos := SelStart + SelLength;
        else

          StartPos := 0;

        { ToEnd is the length from StartPos to the end of the text in the rich edit control }

        ToEnd := Length(Text) - StartPos;

        FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
        if FoundAt <> -1 then
        begin
          SetFocus;
          SelStart := FoundAt;
          SelLength := Length(FindDialog1.FindText);
        end;
      end;
    end;