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
[75203] TPanel 마우스 휠 이벤트
궁금이... [darkman76] 2626 읽음    2018-12-08 18:19
안녕하세요 TPanel을 이용하여 맵 엔진을 개발하고자 합니다.
근데 TPanel에 TMouseWheelUpDownEvent 가 없더군요
OnPaint 이벤트도 없어서 찾아보니 아래와 같이 오버라이드 시키더군요
class TPanel : public Extctrls::TPanel
{
  private:
    TNotifyEvent FOnPaint;
    TMouseWheelUpDownEvent FOnMouseWheelUp;
    TMouseWheelUpDownEvent FOnMouseWheelDwon;
  protected:
    void __fastcall Paint(void)
    {
        //inherited Paint();
        if(FOnPaint)
        {
            FOnPaint(this);
        }
    }

  public:
    __property Canvas; //protected인 프로퍼티를 public으로 변경
    __property TNotifyEvent OnPaint= {read=FOnPaint, write=FOnPaint}; //추가한 이벤트

};

이걸 이용해서 휠 이벤트도 추가하면 될 듯 한데요 인자값이나 이런게 정확치 않아서 힘드네요
위의 부분에서 정의하면
    TMouseWheelUpDownEvent FOnMouseWheelUp;
    TMouseWheelUpDownEvent FOnMouseWheelDwon;
이렇게 정의하고   protected:  부분에
        if(FOnMouseWheelUp)
        {
                     FOnMouseWheelUp(this);
        }
이러면 될 듯 한데 문제는 휠 이벤트는 인자값이 Tobject 포인터만 받는게 아니고
(TObject *Sender, TShiftState Shift, TPoint &MousePos,bool &Handled);
이런 인자들을 받더라고요 이게 this에서 넘길수 있는지요
그리고 위에 보면 void __fastcall Paint(void) 함수 안에다가 정의하는데
휠도 이런 함수가 존재하나요?
아님 불가능하가요?

고수님들 답변 부탁드립니다.
수고하세요


+ -

관련 글 리스트
75203 TPanel 마우스 휠 이벤트 궁금이... 2626 2018/12/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.