Q&A

  • Enter Key를 치면 입력된자료가 지워짐
DBEdit 에 자료를 입력하고 Enter key를 치면 새로 입력된 자료가 Clear되고
예전자료로 나옵니다.
이유가 뭔지 모르겠네요. 이러다 미치느거 아닌지....
다음 입력필드로 이동시키려해도 입력된게 지워지니까
어찌할바를 모르겠네요. 부탁드립니다.

3  COMMENTS
  • Profile
    류제원 2004.12.20 20:22

    예전자료가 나온다는 것은 현재 입력상태를 취소한다는 것인데...

    혹 keypress event에 잘못된 코드가 있는 것은 아닌지요?

    잘 살펴보시기 바랍니다.
  • Profile
    배정은 2004.12.21 04:29

    답변 감사 합니다.
    아무리 봐도 잘못된 곳을 착을 수 없네요.
    다시한번 부탁합니다.

    1번째 방법
    => 이경우가 질문한 경우고 , Shift+Enter는 정상적으로 작동
    procedure TFrm0101.ED_NameKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if char(Key) = #13 then
         begin
         SelectNext(Sender as TWinControl,True,True);
    //     showmessage('ssss');
         end;
    end;

    2번 째 방법
    => 이 경우 전혀 Enter Key 인식 못함. Shift+Enter는 정상적으로 작동
    procedure TFrm0101.ED_NameKeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
         begin
         Key := #0;
         SelectNext(Sender as TWinControl,True,True);
         showmessage('ssss');
         end;
    end;

    이런경우가 첨이라 원인을 잘 모르겠네요.
  • Profile
    배정은 2004.12.21 05:09
    이렇게 하니까 되네여. 그런데 한글입력시에는 문제가 있네요.
    procedure TFrm0101.ED_NameKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if char(Key) = #13 then
         begin
         Key := 0;
         RegisterHotKey(handle,1,0,VK_Return);
         SelectNext(Sender as TWinControl,True,True);
         end;
    end;
    좋은 방법 있으면 올려 주세요. 부탁합니다.