Q&A

  • 윈도우 기본 메모장에서의 줄이동 효과 구현은?
리치에디트에서 윈도우 기본 메모장에서와 같은 줄이동 효과를 만들어 보고 싶습니다...
현제 이동시킬 입력커서 위치까지는 확인이 되었습니다...
막히는 부분은 깜박거리는 입력커서 를 이동시킬 줄 맨 앞에 보여지게 해야하는데 검색하고  여러가지 코딩을 해봐도 이동을 어떻게 해야하는건지 도저히 모르겠다는 겁니다..

즉 제가 생각하기에는
리치에디트.마우스이동(이동포인트지점) ;
머 이런식으로 지원함수나 코딩이 있는가 하는것입니다.
(아직 잘 몰라서 이런것이 정말 있는지는 모르겠습니다)

위처럼 방법이 없다면 코딩을 해줘야하는데 검색으로 찾은 방법

Memo1.SelStart :=SendMessage(Memo1.Handle,EM_LINEINDEX,i,0);

SendMessage(memo1.Handle,WM_VSCROLL,0,i);
등 많은 방법을 써봤는데도 커서는 이동도 않고 보이지도 않고....

도움 부탁드립니다.
2  COMMENTS
  • Profile
    장태원 2004.03.11 02:38
    var I,SelLength : integer;
    begin
         If key=#13 then
            Begin
            I := 0;
            SelLength := 0;
            For I:=0 To StrToInt(Edit1.Text)-2 Do
                Begin
                SelLength := SelLength + length(Memo1.Lines.Strings[I])+2;
                End;
            Memo1.SelStart := SelLength;
            key := #0;
            memo1.setfocus;
            end;
    end;

    selstart 는 첨부터 현재위치까지의 총 글자 합입니다. 그래야 그위치로 갑니다.

    위에 보시면 +2 한 부분은 이해하시죠?

  • Profile
    엄문용 2004.03.11 18:40
    감사합니다.. 그런데 문제가 한가지더 ... ^^:
    다른것이 아니고 이동은 되는데 이동된 상태 (자식폼.memo)에서
    커서(입력커서)가 안보이고 이동만 되서 다시 궁금한점 올립니다.
    입력커서(깜박거리는) 가 보이게 하려면 어떻게 해야할까요?
    자식폼이 계속 포커스 상태라 입력커서가 안보이는건가 해서입니다.