Q&A

  • Edit Control에서 KeyDown Event Coding시 Enter Key 인식못합니다.
희안하게도..

Edit Control에 Key Down Envent로  Enter Key를 눌렀을 때만 안들어갑니다.

다른 Key들을 눌렀을때는 모두 EditKeyDown 이벤트로 들어가서

수행되는데 Enter Key를 눌렀을때만 아무런 반응이 없습니다.

Form에서 Key Preview의 true / False의 문제도 아닙니다.

어찌된 영문인지...
7  COMMENTS
  • Profile
    고부열 2002.09.03 03:30
    해당 폼의 버튼 속성중이 Default 가 true로 되어있더군요.


    제 친구중에 델파이의 거의 달인이 있는데.. 이 친구가 담방에 잡더군요.


    아~ 제가 이렇게 무지합니다.

    폼의 버튼 속성이 Default가 true이면 해당 폼의 Enter이벤트는

    그리고 뛰어들어갑니다.

    그럼.. 답변 주신분들 감사합니다
  • Profile
    고지범 2002.09.03 03:44
    클클... 추카합다...
    그런 일두 ^^
  • Profile
    고지범 2002.09.03 01:28
    지나가던 얼큰입다. 잘 되는 데요???
    KeyDown Event 에서 다음과 같이 하믄... 잘 올라오던디...
    procedure TForm1.Edit11KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
       if Key = Word(#13) then ShowMessage('pressed');
    end;
    #10 은 안 먹구요... #13 은 잘 올라오는 데요...
    그럼 오늘도 즐입다.

  • Profile
    이추형 2002.09.03 01:28
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if char(Key) = #13 Then
        ShowMessage('aa');
    end;

    혹은

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 Then
        ShowMessage('aa');
    end;

    해보시져 ~~~
  • Profile
    고부열 2002.09.03 01:32
    답변 감사드립니다.

    // -- 아래는 제가 작성한 소스 코드입니다.
            Enter 키를 제외한 다른 키들은 아래의 이벤트 핸들러 안으로 다 들어갑니다. 그러데 유독 Enter Key를 눌렀을 때만 안들어갑니다.
    아예 그 안에서 if 문장 자체를 읽을 겨를도 없다는 것이죠. 그런데 다른 키는
    안에서 처리가 가능합니다.


    Form은 MDI Child 입니다.



    procedure Tf_SA01.ed_searchNameKeyPress(Sender: TObject; var Key: Char);
    var
       SearchText : string;
       SearchSQL : string;
    begin

      if char(key) = #13 then
        begin

        if trim(ed_searchName.Text) = '' then
            begin
            ShowMessage('거래처 상호를 입력하세요');
            exit;
            end;

        Application.CreateForm(Tf_ClientView, f_ClientView);
        if f_ClientView.q_client.State <> dsInactive then
           f_ClientView.q_client.Close;
        f_ClientView.q_client.sql.clear;
        SearchSQL := ''; SearchText := '';    // 검색 변수 초기화
        SearchText := ed_searchName.text;
        SearchSQL := 'select * from tab_client where name like ';
        SearchSQL := SearchSQL + '''%' + SearchText + '%''';
        SearchSQL := SearchSQL + ' order by seq';
        f_ClientView.q_client.sql.add(SearchSQL);
        f_ClientView.q_client.Open;
        f_clientView.Tag := 1;
        f_clientView.ShowModal;

        end;

    end;
  • Profile
    고지범 2002.09.03 02:11
    윽... MDI child 에서두 잘 들어가 지는 데... 무엇이 다른지 모르겠군요...
    테스트를 편하게 하기 위해서,
    File->New->Other->Projects->MDI application 선택 후,
    MDI Child 속성을 가지는 CHILDWIN unit에다가 TEdit 하나 넣구,
    OnKeyDown, OnKeyPress 둘 다 테스트 해보았는 데 잘 올라옵니다.
    답변에 달아놓은 그 코드 그대로 요...
    (참고로 전 델파이 6 환경입니다.)
    기본 설정에서 변경사항 없구요...
    에공 이상하군요... 쩌비.. 도움이 안되서리 지송.
  • Profile
    고부열 2002.09.03 02:57
    저도 델파이로 프로그램을 3년전부터 하고 있지만

    이런 경우는 처음이네요...

    아마도... 폼이 생성되면서 Enter Key값에 관한 이벤트가

    TSender를 통해서 어디론가 떠돌아 댕기는 것 같아요..


    대신에 Shift-Enter 값이 발생하면 정상적인 Enter 처럼 작동하네요..


    아`` 괴롭슴다... 9월 초부터 이런 문제가 발생하다니...


    암튼 답변을 주시는 분들 정말 감사합니다.. 바쁘실텐데..

    테스트에 답변까지 주시니~~

    • 전원보
    • 2002.09.03 10:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박장용
      2002.09.03 19:44
      텍스트 파일에 한정된다면 Memo나 RichEdit로 읽어 들이시는게 편합니다.   RichEdit1.Lines....
    • 세균맨
      2002.09.03 19:43
      글쎄요.....특정문자의 인덱스라면 구분자를 말씀하시는 것인지..... 모르겠군요.... 만약 구분자를 말씀...
    • 마니산
    • 2002.09.03 08:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.03 09:19
      안녕하세요. 최용일입니다. 1입니다. 둘다 정수형이고 Byte에서 Integer로 형변환할때 절대 범위를 넘는...
    • sunny
    • 2002.09.03 08:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.03 09:41
      안녕하세요. 최용일입니다. 아래와 같이 해보세요... 좀 더 많이 책보고 VCL에 대해서 공부하셔야 할듯....
    • sunny
      2002.09.03 14:29
      감사합니다. 당장 이렇게 해결하는것만이 최선의 방법은 아닌줄 압니다. 열심히 노력하겠습니다. 그럼...
    • 최용일
      2002.09.03 09:44
      안녕하세요. 최용일입니다. File메뉴에서 프로젝트를 저장하세요... 임의로만든 프로젝트폴더에... ...
    • 한창훈
    • 2002.09.03 07:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.03 23:02
      PL/SQL을 구현해야 하지만 파라독스에서 지원이 되는지는 정확히 모르겠습니다. (오라클등등의 대용량 DB...
    • 배창석
      2002.09.18 08:08
      델파이 소스가 있는 디렉토리의 경로에 '('등의 특수문자가 포함되어있는 지 확인해보세요... 있다면, 제...
    • 이추형
      2002.09.04 01:19
      BDE에서 설정한 Alias name이 'Oracle_DB'인지 확인하시기 바랍니다. 혹 다른이름으로 되어 있는건 아닌지...
    • goodlsw
    • 2002.09.03 05:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.09.03 05:51
      안녕하세요. 한원희입니다. 캐럿의 위치를 구하기 위해서는 GetCaretPos 라는 API를 사용하시면 됩니다....
    • 김상수
    • 2002.09.03 04:58
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.09.03 05:19
    • 김상수
      2002.09.03 05:25
    • 임형호
      2002.09.03 10:37
    • 김상수
      2002.09.03 19:23
    • 임형호
      2002.09.03 22:03
    • 김상수
      2002.09.04 01:45
    • 임형호
      2002.09.04 05:43
    • • • •
    • 한원희
      2002.09.03 05:38
      안녕하세요. 한원희입니다. 서브클래싱이나 윈도우 후킹을 하면 가능할 것 같습니다. 좀 복잡하니까, ...
    • ㄴ ㅏ ㅁ ㅑ
      2002.09.03 19:57
      먼저 답변 감사드립니다 ^o^ procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;  &...
    • 한원희
      2002.09.03 23:49
      안녕하세요. 한원희입니다. 아쉽게도 VK_BACK는 네비게이션 키로 분류되어 있어서 방향키 등과 같이 Key...
    • 임형호
      2002.09.03 05:15
      keypress에서는 잘 모르겠구요. keydown이벤트에서는 if key=46 then   key = 0; ...
    • 김상수
    • 2002.09.03 04:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.09.03 04:41
      예.. 콤보박스로 그렇게 하면 됩니다.
    • 한원희
      2002.09.03 06:23
      안녕하세요. 한원희입니다. 아래 코드에서 약간 이해가 안가는 부분이 있는데, 수신측에서 데이터의 전...
    • 홍성락
      2002.09.03 06:10
      hsr/////////////////////////////////////////////////// 간단히 DBGrid에 연결된 PopupMenu가 열리는 시...
    • 델파이사랑
      2002.09.03 20:51
      ....^^....^^....^^
    • 고지범
      2002.09.03 03:25
      지나가던 얼큰입니다. 제 생각에는 델파이나 VC++ 이나 가장 좋은 것은 Update Handler 를 이용하는 것이 ...
    • 짱아
    • 2002.09.03 00:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.03 01:21
      TStringGrid.Cells 의 ACol과 ARow를 Loop 돌면서 파일 하나하나 처리 하셔야 할것 같습니다. .. 가장 쉬...
    • 짱아
      2002.09.03 02:37
      ㅡㅡ; 자세히점.. 갈켜 주시겠어염...
    • 고부열
    • 2002.09.03 00:27
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 고부열
      2002.09.03 03:30
      해당 폼의 버튼 속성중이 Default 가 true로 되어있더군요. 제 친구중에 델파이의 거의 달인이 있는데...
    • 고지범
      2002.09.03 03:44
      클클... 추카합다... 그런 일두 ^^
    • 고지범
      2002.09.03 01:28
      지나가던 얼큰입다. 잘 되는 데요??? KeyDown Event 에서 다음과 같이 하믄... 잘 올라오던디... procedu...
    • 이추형
      2002.09.03 01:28
      procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;   Shift: TShiftState); beg...
    • 고부열
      2002.09.03 01:32
      답변 감사드립니다. // -- 아래는 제가 작성한 소스 코드입니다.       ...
    • 고지범
      2002.09.03 02:11
      윽... MDI child 에서두 잘 들어가 지는 데... 무엇이 다른지 모르겠군요... 테스트를 편하게 하기 위해서...
    • 고부열
      2002.09.03 02:57
      저도 델파이로 프로그램을 3년전부터 하고 있지만 이런 경우는 처음이네요... 아마도... 폼이 생성되...
    • 이경모
    • 2002.09.03 00:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 세균맨
      2002.09.03 00:19
      기본적을 원도우에서 지원하는 Port가 있읍니다.. telnet은 23 port, ftp 21 port를 사용하고 있죠. ...
    • 허진
    • 2002.09.02 23:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용운
      2002.09.10 09:15
      제가 조직도 컴포넌트를 개발하고 있는데 현재는 DB에 있는 자료를 화면에 디스플레이 하는 기능과, 미리...
    • 이추형
      2002.09.03 01:35
      EInvalidOp is the exception class for undefined floating-point operations. Description : EInvali...
    • 이원상
    • 2002.09.02 23:16
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고지범
      2002.09.03 01:23
      external 이라는 키워드를 생각해보시길 바랍니다. C/C++ 과 비교해서 생각해보면 (잘 모르셔두 상관은 ...
    • 이원상
      2002.09.03 02:33
      성의 있는 답변 너무 감사합니다. 이해하는데 많은 도움이되었습니다. 그리구 동적으로 할당한 이유는 이 ...
    • 고지범
      2002.09.03 03:42
      음 지나가던 얼큰입다... ㅋㅋ 호접한 답변이 도움이 되었다니 넘 기쁩다. ^_____^ 정적할당과 동적할당...
    • 한원희
      2002.09.03 06:38
      안녕하세요. 한원희입니다. TCP를 이용하시는 것이라면, 잘못된 데이터의 전송에 대한 고려를 하지 않으...