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키를 잡을수 있을 거예요 ^^
그럼 즐프하세요
|