Q&A

  • edit 에서...
edit에서 입력 도중에

키보드의 ESC 를 누르거나 '취소' 버튼을 누르면...

새로이 입력한 내용을 없던걸로...

즉... 입력하기 이전의 상태로 하려면 어떻게 해야 하죠???....

도와주세요....



4  COMMENTS
  • Profile
    류성심 2001.05.23 02:07
    님이 가르쳐 주신 방법은....

    edit 내의 모든 내용을 지우는 거잖아요....

    그런데....

    edit 에 "가나다" 라는 내용이 있구요...

    마우스 클릭을 통해서... 그뒤에..."가나다라마바" 라고 입력했을때...

    ESC 를 누르면... "가나다"가 나타나도록 하려면요?....

    이럴 경우는 어떡하죠??



    hobakpa wrote:

    > procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

    > Shift: TShiftState);

    > begin

    > if Key = vk_escape then Edit1.text := '' ;

    > end;

    >



    답글 감사합니다....

  • Profile
    hobakpa 2001.05.23 03:07
    절라 허접합니다. 다른분들이 보시면 우수실줄 알지만

    우선 짧은시간동안에 해본건데

    맘에 안드셔도 ..... 그냥 한번 봐주세요..



    수정..-----esk두번 누르면 에디트 클리어...



    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    var aa : string;

    begin



    if Key = vk_escape then begin

    if tt <> edit1.text then

    begin

    edit1.text := tt;

    tt := edit1.text;

    exit; //<<--------------수정

    end;

    edit1.text := ''; //<<--------------수정

    end;



    end;



    procedure TForm1.Edit1Exit(Sender: TObject);

    begin

    // TT 전역변수....

    tt := edit1.text;

    end;



    다른 방법있으면 저도 알려주세요.....^-^



  • Profile
    김일배 2001.05.23 02:59
    {버튼누를때}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    edit1.Undo;

    end;



    {ESC누를때}

    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    begin

    if Key=27 then Edit1.Undo;

    end;



  • Profile
    hobakpa 2001.05.23 03:04
    유용하게 써먹겠습니다.....

    오늘도 한가질 배우고 퇴근을 하는군요....^-^