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
[5131] Re:TEdit에서 TAB키를 잡을려면..
경호 [ansoni19] 2996 읽음    2001-02-03 12:01
hunters 님이 쓰신 글 :
: 안녕하세요.
:
: TEdit에서 KeyPress에서 TAB키를 잡을려면..
: 어떻게 해야 되나요?
:
: 감사합니다.

안녕하세요 메세지 처리를 하셔서 잡아야 겠네요 ^^
예전에 어디선가 보긴 했는데 기억이 가물가물 ^^

간단하게 소스를 보여드릴께요 ^^

cpp파일 입니다 ^^

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        if(Key == VK_RETURN)
                ShowMessage("Enter");
        else if(Key == VK_TAB)
                ShowMessage("Tab");

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    TempMessage=Edit1->WindowProc;
    Edit1->WindowProc=allKeyView;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::allKeyView(TMessage &Message)
{
    if(Message.Msg == WM_GETDLGCODE){
        Message.Result = DLGC_WANTTAB;
    }else TempMessage(Message);
}

헤더 파일 입니다.

//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TEdit *Edit1;
        void __fastcall Edit1KeyDown(TObject *Sender, WORD &Key,
          TShiftState Shift);
        void __fastcall FormCreate(TObject *Sender);
private:    // User declarations
        TWndMethod TempMessage;
        void __fastcall allKeyView(TMessage &Message);
public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

이렇게 하시면 에디트에서 tab키를 잡을수 있을 거예요 ^^
그럼 즐프하세요

+ -

관련 글 리스트
5117 TEdit에서 TAB키를 잡을려면.. hunters 2458 2001/02/02
5131     Re:TEdit에서 TAB키를 잡을려면.. 경호 2996 2001/02/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.