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
[12962] Re:Re:Re:Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때.....
강요찬 [kyc3003] 1222 읽음    2001-11-22 13:09
컨트롤에서 키입력에 따라 원하는 기능을 구현하려면...
먼저 Form1 의 Property 중의 KeyPreview 항목값을 true 로 설정한 뒤...

Function Key 들(VK_LEFT,VK_UP,...)은 OnKeyDown 이벤트에서 처리해야 하고
일반 키(VK_RETURN,...)들은 OnKeyPress 이벤트에서 처리해야 합니다.

OnEnter 이벤트는 해당 컨트롤레 Focus 가 주어졌을 때 발생되는 이벤트입니다.

VK_RETURN, VK_LEFT, ...등등은 일반 정수값을 사용자가 사용하기 쉽게 재정의한 것에 불과합니다.

Include  폴더에 있는 winuser.h 파일을 열어보니 아래와 같이 정의되어 있군요. 일부분만 발췌했습니다.

#define VK_ESCAPE         0x1B

#define VK_CONVERT        0x1C
#define VK_NONCONVERT     0x1D
#define VK_ACCEPT         0x1E
#define VK_MODECHANGE     0x1F

#define VK_SPACE          0x20
#define VK_PRIOR          0x21
#define VK_NEXT           0x22
#define VK_END            0x23
#define VK_HOME           0x24
#define VK_LEFT           0x25
#define VK_UP             0x26
#define VK_RIGHT          0x27
#define VK_DOWN           0x28
#define VK_SELECT         0x29
#define VK_PRINT          0x2A
#define VK_EXECUTE        0x2B
#define VK_SNAPSHOT       0x2C
#define VK_INSERT         0x2D
#define VK_DELETE         0x2E
#define VK_HELP           0x2F




heartsim 님이 쓰신 글 :
: 안녕하세요.답변 감사합니다.^^
: 근데 말씀대로 해봤는데 Enter키를 눌렀을 때 Edit내용이 GBgrid에 전달이 안되더라구요.
: 아무런 반응도 하지 않는군요.
: 제가 OnKeyDown를 써서 Edit에 숫자를 증가 감소시키도록 한 소스에 5번째로 VK_RETURN을 써서
: 말씀대로 했는데 안 되는군요.
: switch(key)
: {
:          case VK_LEFT:
:          case VK_UP:    1씩 증가..................
:          case VK_RIGHT:
:          case VK_DOWN:  1씩 감소..................
:
:   --->   case VK_RETURN: Edit내용을 엔터쳤을 때 GBgrid에 표시토록 함
: }
:
: 전에는 OnKeyPress이벤트를 써서 조금 됐는데, 소스상에 문제가 있어서 그런지 됐다 안 됐다 하거든요.
: 그래서 질문을 드렸는데, 바쁘신 중에 죄송하지만 OnKeyPress와 OnEnter 그리고 VK_RETUR의 차이점에
: 대해 답변 주시면 감사하겠습니다.^^
:
: 즐거운 하루 되세요.
:
:
:
: 박재욱.사탕 님이 쓰신 글 :
: : OnKeyDown()에서요.
: : if(Key == VK_RETURN){
: :   작업 내용..
: :   ...........
: : }
: : 하시면 될꺼에요.
: :
: : heartsim 님이 쓰신 글 :
: : : 안녕하세요.
: : : 빌더 초보입니다.
: : : 한참 프로그램을 짜고 있는데, 의외로 쉽게 생각했던 것이 잘 안되서요.
: : :
: : : 다름 아니오라, Edit컴포넌트에 숫자를 입력한 후 Enter키를 쳤을 때 데이터가
: : : GBgrid필드에 입력되게 할려고 하는데, 그 때 사용하는 이벤트가 무엇인지요...
: : : OnEnter와 OnKeyPress 이벤트 중에 하나가 아닌가 듯 싶은데요...잘 안되서요..^^
: : :
: : : 답변 부탁드립니다.
: : :
: : : 즐거운 하루되세요.....

+ -

관련 글 리스트
12957 Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때..... heartsim 872 2001/11/22
12960     Re:Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때..... 박재욱.사탕 958 2001/11/22
12961         Re:Re:Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때..... heartsim 960 2001/11/22
12963             Re:Re:Re:Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때..... 박재욱.사탕 1390 2001/11/22
12962             Re:Re:Re:Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때..... 강요찬 1222 2001/11/22
12985                 Re:Re:Re:Re:Edit에서 숫자(데이터) 입력 후 Enter를 쳤을 때..... heartsim 1066 2001/11/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.