|
빌더는 아래와 같이 씁니다.
메시지 명칭, 받을 인자형, 받을 메시지 핸들러 함수
받을 인자형을 지정하는 것은 보다 편리하게 메시지를 다루기 위해서입니다.
그게 귀잖으면 TMessage 형을 무조건 쓰면 됩니다.
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_SIZE, TWMSize, WMSize);
VCL_MESSAGE_HANDLER(WM_SETFOCUS, TWMSetFocus, WMSetFocus);
VCL_MESSAGE_HANDLER(WM_KILLFOCUS, TWMKillFocus, WMKillFocus);
VCL_MESSAGE_HANDLER(WM_GETDLGCODE, TWMNoParams, WMGetDlgCode);
VCL_MESSAGE_HANDLER(CM_CTL3DCHANGED,TMessage, CMCtl3DChanged);
MESSAGE_HANDLER(WM_LBUTTONDOWN, TMessage, OnNcLButtonDblClk);
END_MESSAGE_MAP(TCustomControl);
MESSAGE_HANDLER 나 VCL_MESSAGE_HANDLER 나 똑 같은 것입니다.
VCL_ 은 보다 뜻을 명확히 할려는 목적인데 아무거나 쓰면 됩니다.
조흥렬 님이 쓰신 글 :
: 쓰레드 함수에서
: PostMessage(hCommWnd, WM_COMM_READ, 0, 0 );
: 라고 메세지를 보내면....
:
: MFC에선....
: BEGIN_MESSAGE_MAP(CSerialComDlg, CDialog)
: //{{AFX_MSG_MAP(CSerialComDlg)
:
: ON_MESSAGE(WM_COMM_READ , OnCommunication) //추가
:
: //}}AFX_MSG_MAP
: END_MESSAGE_MAP()
:
: 이와같이 ON_MESSAGE로 , CSerialComDlg에 전달 되잔아요...그래서 OnCommunication()가 실행되잔아요...
: MSDN찾아보니깐 ON_MESSAGE 는 MFC용 이라고 되어있던데....
: 볼란드에서는 어캐 바꿔줘야 되나요?
: 넘 무식한 질문이져...고수님들 부탁드려요~~~~
|