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
[37024] Re:[질문] 컴포넌트가 메세지를 잡지 못합니다.
임문환.실업자 [origin] 821 읽음    2004-08-28 13:13
Starlet 님이 쓰신 글 :
: 안녕하세요. 메세지를 잡아 처리하는 컴포넌트를 만들었는데 메세지에 반응을 하지 않습니다.
: 헤더파일은...
:
: #ifndef Component1H
: #define Component1H
: //---------------------------------------------------------------------------
: #include <SysUtils.hpp>
: #include <Classes.hpp>
: #include <Forms.hpp>
: //---------------------------------------------------------------------------
: typedef void __fastcall (__closure *TFormResize)(TObject *Sender, int Width, int Height);
: class PACKAGE TComponent1 : public TComponent
: {
: private:
:         void __fastcall OnFormResize(TMessage &Message);
:         TFormResize FOnResize;
: protected:
: public:
:         __fastcall TComponent1(TComponent* Owner);
:         BEGIN_MESSAGE_MAP
:                 VCL_MESSAGE_HANDLER(WM_SIZE, TMessage, OnFormResize)
:         END_MESSAGE_MAP(TComponent)
: __published:
:         __property TFormResize OnResize = {read=FOnResize, write=FOnResize};
: };
: //---------------------------------------------------------------------------
:
: 위와 같이 하여 WM_SIZE 메세지에 OnResize 이벤트가 발생하도록 OnFormResize함수내에 코딩하였습니다. 그런데 OnFormResize 자체가 실행이 되지 않는군요. WM_SIZE 메세지가 들어오지 않는다는 것인데 어디를 고쳐줘야 할지 난감합니다.
: 도움 부탁드립니다. 추가로 컴포넌트 소스도 첨부파일로 올립니다..

TComponent 도움말을 보면 TComponent는 "non-visual"입니다.
non-visual 이므로 Windows OS가 관련 이벤트를 발생하지 않는 것입니다.

visual 컴포넌트를 제작하시려면 TControl 또는 그 파생클래스를 사용하라는군요.

+ -

관련 글 리스트
37020 [질문] 컴포넌트가 메세지를 잡지 못합니다. Starlet 855 2004/08/28
37024     Re:[질문] 컴포넌트가 메세지를 잡지 못합니다. 임문환.실업자 821 2004/08/28
37025         Re:Re:[질문] 컴포넌트가 메세지를 잡지 못합니다. Starlet 785 2004/08/28
37027             Re:Re:Re:[질문] 컴포넌트가 메세지를 잡지 못합니다. 임문환.실업자 911 2004/08/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.