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
[5155] Re:[질문] 마우스 상태 알아내는 소스인데요...
박지훈.임프 [cbuilder] 2826 읽음    2001-02-03 20:15
장석현 님이 쓰신 글 :
:   지난번에 질문 올렸었는데요.. 아직 해결을 못해서^^;;;;
:
:   잘못된 부분을 좀 짚어주세요. 간단히 주석을 달아 봤습니다.
:
:
:   유닛파일입니다.
: //-----------------------------------------------------------
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
:         : TForm(Owner)
: {
:
: }
: //---------------------------------------------------------------------------
: MESSAGE void TImage1::OnMouseEnter(TMessage &msg)
: {
: ShowMessage("Enter");
: }
: //간단히 메소드 하나를 달았습니다
:
:
:
:
:
:
:
: 헤더파일입니다...
: //-------------------------------------------------------------
: //---------------------------------------------------------------------------
:
: #ifndef Unit1H
: #define Unit1H
: //---------------------------------------------------------------------------
: #include <Classes.hpp>
: #include <Controls.hpp>
: #include <StdCtrls.hpp>
: #include <Forms.hpp>
: #include <ExtCtrls.hpp>
: //---------------------------------------------------------------------------
: class TForm1 : public TForm
: {
: __published:    // IDE-managed Components
:         TImage *Image1;
:         // TImage 컨트롤을 하나 추가했습니다
: private:    // User declarations
: public:        // User declarations
:         __fastcall TForm1(TComponent* Owner);
:
: };
: //--여기서부터 추가 했습니다----------//
: class TImage1 : public TImage
: {
:      MESSAGE void OnMouseEnter(TMessage &msg);
:    BEGIN_MESSAGE_MAP
:       VCL_MESSAGE_HANDLER(CM_MOUSEENTER, TMessage, OnMouseEnter);
: //    VCL_MESSAGE_HANDLER(CM_MOUSELEAVE, TMessage, OnMouseLeave);
: //    우선 MOUSEENTER 메시지만 테스트해보려고 아래 핸들러는 죽였습니다
:    END_MESSAGE_MAP(TImage);
:
: };
: //-----------------------------------//
: //---------------------------------------------------------------------------
: extern PACKAGE TForm1 *Form1;
: //---------------------------------------------------------------------------
: #endif
:
:
:
:
:
: 도저히 뭐가 문제인지 모르겠습니다.
: 컴파일은 잘 되는데...
:
: 제 생각으론 마우스를 이미지 컨트롤 위에 올려놓으면 ShowMessage가 작동해야 할 것 같은데...
:
: 부탁드립니다^^;



임펠리테리입니다.

메시지핸들러를 작성한 것은 TImage를 상속받은 TImage1 클래스이지요? 그런데 폼에 놓은 것은 TImage 클래스이군요. TImage 클래스에는 당근 TImage1 클래스에서 만들었던 메시지 핸들러가 없고, 그러니 메시지가 안걸립니다.

당근 TImage 대신 TImage1 클래스를 써야겠지요? 동적으로 생성하시든지, 혹은 완전한 컴퍼넌트로 만들어서 폼에 놓으세요.

그럼 참고하시길..

+ -

관련 글 리스트
5126 [질문] 마우스 상태 알아내는 소스인데요... 장석현 2692 2001/02/02
5155     Re:[질문] 마우스 상태 알아내는 소스인데요... 박지훈.임프 2826 2001/02/03
5151     Re:[질문] 마우스 상태 알아내는 소스인데요... 제라툴 2685 2001/02/03
5154         Re:Re:[질문] 마우스 상태 알아내는 소스인데요... 제라툴 2826 2001/02/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.