Q&A

  • 상태표시줄에 현재라인수 나타내기요2 ^^;
남기석님 돌머리님 정말 감사합니다. 실행 잘 됐구요.

그런데 라인수가 보이려면 메모장에 입력을 해야 보여지는데요(체인지이벤트라 그렇겠죠?^^)

그럼 커서가 이동할 때마다 라인수를 보려면 어떤 이벤트에 코딩해야하나요?



기왕에 일케된거 하나더질문요..^^

메모장을 저장하는데요. 아래코드는 '다른이름으로저장'창이 계속 뜨거든요.

procedure TForm1.SaveAsExecute(Sender: TObject);

begin

if SD.execute then

memo1.lines.savetofile(SD.filename);

end;



한번 저장한상태에서 또 저장한다면 '다른이름으로저장'창이 안뜨고 바로 저장되야하잖아요? <--이 소스 팁모아 게시판에도 없구요.

여러분께 한번더 부탁합니다~

1  COMMENTS
  • Profile
    델피언 2000.09.21 20:46
    안녕하세요~ 델피언입니다.

    메모관련은 memo의 keydown event에 방향키와 enter 키가 눌릴때 이함수를 호출하시어

    상태바에 출력하시면 되겠네여..조금 수정을 하시면 되겠져~

    그리고 보너스로 특정위치에 커서를 이동시키는 것까지 드립니다.

    즐코~



    procedure GetLineNo(memo : tcustommemo; var memoline, memocol: integer);

    var

    linenum : longint;

    charsbeforeline:longint;

    begin

    linenum := sendmessage(memo.handle, em_linefromchar, memo.selstart, 0);

    charsbeforeline := sendmessage(memo.handle, em_lineindex, linenum, 0);

    memoline := linenum + 1;

    memocol := memo.selstart - charsbeforeline + 1;

    end;



    procedure SetLineNo(memo : tcustommemo; memoline, memocol: integer);

    begin

    memo.selstart := sendmessage(memo.handle, em_lineindex, memoline-1, 0)

    + memocol - 1;

    end;



    니케 wrote:

    > 남기석님 돌머리님 정말 감사합니다. 실행 잘 됐구요.

    > 그런데 라인수가 보이려면 메모장에 입력을 해야 보여지는데요(체인지이벤트라 그렇겠죠?^^)

    > 그럼 커서가 이동할 때마다 라인수를 보려면 어떤 이벤트에 코딩해야하나요?

    >

    > 기왕에 일케된거 하나더질문요..^^

    > 메모장을 저장하는데요. 아래코드는 '다른이름으로저장'창이 계속 뜨거든요.

    > procedure TForm1.SaveAsExecute(Sender: TObject);

    > begin

    > if SD.execute then

    > memo1.lines.savetofile(SD.filename);

    > end;

    >

    > 한번 저장한상태에서 또 저장한다면 '다른이름으로저장'창이 안뜨고 바로 저장되야하잖아요? <--이 소스 팁모아 게시판에도 없구요.

    > 여러분께 한번더 부탁합니다~