C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[48722] Re:On Enter Event에 대해서 질문좀 드릴께요..
강재호.만해 [greenuri] 1624 읽음    2007-04-02 18:11
Edit control의 On Enter 이벤트는 Enter키가 입력 됐을때 나오는 이벤트가 아니라.

마우스로 Edit 컨트롤을 클릭해서 포커스가 주어 지거나,

탭을 통한 포커스가 주어 졌을때 발생 합니다.

그러니깐 포커스가 자신에게로 넘겨질때 발생하는 이벤트이고요,

OnExit 이벤트는 반대입니다.

자신에게 있던 포커스가 다른 컨트롤로 넘어 갈때 발생합니다.

참고 하세요 .

Enter키가 입력 했을때를 잡으실려면

OnKeyPress에서 Key 가 13일 경우를 잡으시면 됩니다.

또아리 님이 쓰신 글 :
: TEdit에 OnEnter이벤트가 이상하네요..제가 잘못알고 있는건지...Foucused가 True상태에서 Enter를 치면
: 계속 이벤트가 발생해야 하는거 아닌가요?.. 짧지만 제가 만든 코드 일부분을 올리자면..
: // Write CMD TEST
: void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
: {
:     if ((Key<47 || Key>58) && Key!= 8 && Key !='.' && Key!=13) Key=0;
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::Edit1Enter(TObject *Sender)
: {
:     MainForm->Comm_CMD = WND_MAIN_WRITE;
: }
: //------------------
:
:
: 숫자하고..콤마 그리고 백스페이스 엔터가 아닐경우를 제외하곤 키값을 막았구요...저기 엔터 이벤트에서
: 브레이크 포인터를 걸어보니..마우스 클릭할때..즉 포커스를 가질때 딱 한번 호출되고 말더군요;; -0- 대략 난감.
: 원래 엔터키가 누를때 마다 동작해야 하는거 아니가요? 혹시나 해서 저 KeyPress이벤트를 전부 삭제하고
: 해봤는데도..이벤트가 마우스 클릭시에만 초기 딱한번만 동작하고 동작을 하지 않습니다.. 이유가 무얼까요..

+ -

관련 글 리스트
48721 On Enter Event에 대해서 질문좀 드릴께요.. 또아리 1642 2007/04/02
48722     Re:On Enter Event에 대해서 질문좀 드릴께요.. 강재호.만해 1624 2007/04/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.