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
[26099] Re:메세지 맵 질문입니다.
김성철.마법사 [douner] 764 읽음    2003-06-25 20:53
메세지맵은 윈도우즈의 메세지처리를 TWinControl 클래스가 캡슐화한 메세지처리 메카니즘 중 하나입니다. 따라서 메세지 맵을 사용하기 위해서는 클래스를 만들 때 반드시 윈도우 핸들이 있는 TWinControl 에서부터 파생되어야합니다.

그리고 END_MESSAGE_MAP( ____ ) 에서 ____ 자리는 선조클래스의 이름이 들어가야하는데요

그 이유는 END_MESSAGE_MAP() 에서 선조클래스의 Dispatch() 멤버함수를 호출하기 때문이죠.

따라서 다음과 같이 클래스를 선언해야합니다.

class A : public TWinControl
{
private :
public :
protected :
BEGIN_MASSAGE_MAP
     VCL_MESSAGE_HANDLER(UserMessage, TMessage, OnUserMessage);
END_MASSAGE_MAP(TWinControl)
};


통인 님이 쓰신 글 :
: 대략 다음과 같이 구성을 했습니다.
:
: Class A
: {
: private :
: public :
: protected :
: BEGIN_MASSAGE_MAP
:     VCL_MESSAGE_HANDLER(UserMessage, TMessage, OnUserMessage);
: END_MASSAGE_MAP(여기를 어떻게 처리해야 하나요.)
: }
:
: 폼에서 작없할때는 TForm을 그냥 넣었었는데요. 폼에서 작업을 안하니 뭘 넣어야 할지 모르겠네요.
: 꼭 폼에서 해야 할 필요도 없을거 같은데요.
: Class A : TForm(this) 이렇게 였던가요.
:
: 그냥 폼에다 소스를 넣으면 되지만 이 메세지 정의 때문에 폼을 사용하고 싶진 않아서요.
: ()안에 base라고 도움말에 적혀있던데. 어떻게 해야할 지를 모르겠네요.
:
: 지도 부탁드립니다.
: ^^
:

+ -

관련 글 리스트
26098 메세지 맵 질문입니다. 통인 641 2003/06/25
26099     Re:메세지 맵 질문입니다. 김성철.마법사 764 2003/06/25
26105         답변 감사합니다. 많은 도움 되었습니다.(냉무) 통인 554 2003/06/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.