Q&A

  • memo 에 관해서 질문^^
안녕하세요^^
저기 메모 컴포넌트에 관해서 질문이 3가지가 있는대요^^;;

하나는 #13#10 이 메모장에서는 띄우기로 인식을 안하고 이상한 음표같은
문자열로 나오던대 메모장에서 한줄을 띄우게 할려면 어떻게 하면
가능한지 ^^;;;

또하나는 메모장에 높이를 자동으로 변경을 하고 싶어요..
예를 들어 처음 메모장에 높이는 폰트크기에 맞게 한줄로만 했다가
두줄이 입력돼면 메모장도 두줄을 한번에 다 보여주고 높이를 조정하고
싶거든요..그랬다가 다시 한줄이 입력돼면 다시 한줄로 줄여주는 방법을
하고 싶습니다^^

그리고 마지막으로 메모장에서 완전히 마우스를 안먹히게 할려면
어떻게 하면 가능하나요??그러니까 아예 메모장에 마우스를 클릭자체가
안돼게 하고 싶거든요..

그러면 언제나 즐코하세요^^
2  COMMENTS
  • Profile
    신동묵 2002.05.21 23:46
    메모에서는
    Memo1.Text := Memo1.Text+'test'+#13+#10;
    이런 식으로는 쓰면 안됩니다. 뭐 굳이 쓰신다면 할 말은 없지만요...^^;
    Memo1.Lines.Add('test1');
    이렇게 하시면 됩니다. 다음 줄은 또
    Memo1.Lines.Add('test2');
    이렇게요...
    리고 메모장 높이 변화는 아래 처럼 하시면 되겠네요..
    우선 전역 변수로   MemoHeight : Integer; 처럼 선언합니다.
    그리고 FormShow 에서 초기 높이를 지정합니다.
    MemoHeight := 21;   -->  이렇게요... 크기는 폰트 크기에따라 변경하세요..
    그리고 나서 Memo1Change 이벤트에 아래와 같이 써줍니다.

      if Memo1.Lines.Count = 0 then Memo1.Height := MemoHeight
      else         Memo1.Height := MemoHeight + (Memo1.Lines.Count * 11);

    이러면 끝이네요. 위에서 11을 더해준건 역시 폰트크기에 따라 변경 하시면 됩니다.

    그럼 즐코하세요.... ^^;

  • Profile
    nilriri™ 2002.05.21 18:56
    procedure Tkum0105f.Memo1Click(Sender: TObject);
    begin
        memo1.Text := memo1.text + 'test '+ #13+#10;
    end;


    procedure Tkum0105f.Memo1Click(Sender: TObject);
    begin
        memo1.Text := memo1.text + 'test '+ #10+#13;
    end;

    왜 그런지는 모르지만 위의 두문장이 각각 틀린 결과가 나오는 군요..