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
[53738] Re:[질문]TCustomPanel::BevelWidth 변경 메시지를 받고 싶습니다.
장성호 [nasilso] 1172 읽음    2008-06-23 11:54
BevelWidth  는 TCustomPanel에 있는 protected 의  property 이구요
실제는 TCustomPanel의 private 멤버인 FBevelWidth 이죠

TCustomPanel에서 이벤트 핸들러 같은것을 제공하지 않으니
직접 만들수 밖에 없을듯 하네요

방법은 간단합니다.
TCustomPanel에 있는  property   BevelWidth 를 재 정의 하시면 됩니다.

class TMyPanel : public TPanel//CustomPanel
{
  private:
    void _fastcall SetMyBevelWidth(int value)
    {
         //필요한 코드1
      TCustomPanel::BevelWidth=value;
         //필요한 코드2

    }
    int _fastcall GetMyBevelWidth()
    {
      return TCustomPanel::BevelWidth;
    }
  public:
    __fastcall  TMyPanel(Classes::TComponent* AOwner)
      : TPanel(AOwner)
    {
      //
    }
  __property Controls::TBevelWidth BevelWidth = {read=GetMyBevelWidth, write=SetMyBevelWidth, default=1};

};


위와같이 해 놓으면

TMyPanel의 BevelWidth를 수정하게 되면 SetMyBevelWidth 가  호출됩니다.

그러므로 원하시는 기능은 SetMyBevelWidth  메소드에서 하면 될것입니다.


두번째 질문인지 모르겠는데...
TEXTCHANGED 에 대해서 무엇을 물어보는지 이해가 잘 안됩니다.

질문이 잘 이해가 되지 않지만  혹시 Panel 의 Caption을 변경하는 메세지를 잡고자 하는것이라면
WM_SETTEXT 메세지를 잡으시면 됩니다.

그럼..



skjoon 님이 쓰신 글 :
: TCustomPanel을 상속받아 컴포넌트를 만들고 있습니다.
:
: Panel 내부에 그리드 형태의 그림을 그리는데요.
: AutoSize라는 속성을 만들어서 그리드의 크기에 맞춰서 자동으로 Panel의 크기도 바꿔주려고 합니다.
: 그러다보니 BevelWidth 가 변경되는 시점에서 변경된 BevelWidth만큼 Panel 크기를 조정해줘야 할 필요가 있습니다.
:
: 혹시 컴포넌트 메시지(CM_TEXTCHANGED 등과 같은...)에 관련된 메시지가 있나요?
: 제가 찾아봤을 땐 없는 것 같습니다만...
:
: Panel의 BevelWidth 값이 변경되는 시점에서 이를 확인할 수 있는 방법을 아시는 분 계시면 도움 부탁드리겠습니다.
:
: 수고하세요.

+ -

관련 글 리스트
53736 [질문]TCustomPanel::BevelWidth 변경 메시지를 받고 싶습니다. skjoon 1012 2008/06/23
53738     Re:[질문]TCustomPanel::BevelWidth 변경 메시지를 받고 싶습니다. 장성호 1172 2008/06/23
53740         Re:Re:고맙습니다. 해결했습니다.. ^^ skjoon 1121 2008/06/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.