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
[877] [답변] WINIPE/ 텍스트박스에서 다음으로 넘어가는 문제../프포
박융성 [ ] 3947 읽음    1999-01-06 00:52
안녕하세요? 소리랍니다!!

질문하신 내용이 Enter키가 입력되면 다음 입력 항목으로 Focus를 움직이는

것을 말씀 하신듯 하군요...

우선 OnEnter라는 것은 Enter키를 말하는 것이 아니구요...

포커스가 Edit박스에 들어 왔을때 일어나는 이벤트 핸들러를 지정하는 것입니다.

원하는 내용에는 부합되지 않는 방법이겠죠..

방법은 우선 해당 Edit박스에서 키를 체크하여 처리할 수도 있을거구요..

Form레벨에서 Key를 체크하여 처리하는 방법이 있겠죠..

저같은 경우에는 후자를 권장합니다...

후자에 관하여 간단히 설명을 드리면...

우선 폼의 프로퍼티중에 KeyPreview를 true로 설정하구요..

폼의 이벤트에서 OnKeyPress이벤트 핸들러를 생성하여 그곳에 다음과 같이

처리하여 주면 간단합니다!!

void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
    switch(Key)
    {
        case VK_RETURN:            // Enter키가 들어 왔을때
            Key = 0;
            Perform(WM_NEXTDLGCTL,0,0);     // 다음 입력 콘트롤로 Fucus 이동
            break;
        case VK_ESCAPE:      // Esc키 들어 왔을때
            Button_Exit->Click();           // 종료 버튼을 누른것처럼 처리
            break;
    }
}

간단하죠? 넘어오는 Key에는 눌려진 Key값이 들어 오게 되구...그 값을 읽어

다음 콘트롤로 옮겨 주고.. Key값을 0로 만들어 마치 아무런 키도 눌려지지

않은것처럼..처리하여 주는 것이죠..

그럼 도움이 되었기를...



                                          - 서초동에서 소리였습니다!


+ -

관련 글 리스트
876 [질문] 텍스트박스에서 다음으로 넘어가는 문제../프포 winipe 3905 1999/01/06
877     [답변] WINIPE/ 텍스트박스에서 다음으로 넘어가는 문제../프포 박융성 3947 1999/01/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.