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
[53148] Re:Re:StringGrid를 상속한 클래스에서 다른 맴버 컴포넌트에게 이벤트가 전달이 안되는것 같습니다. 도
최형준 [zoomout] 1100 읽음    2008-04-16 17:07
옙 맞습니다.

그리고 아래 함수에서
__fastcall CVclProperty::CVclProperty(_in TComponent* Owner) : TStringGrid(Owner)
{
    Visible = true;
    OnDrawCell = (TDrawCellEvent)&onDrawCell; //이 함수는 잘 동작합니다.

    cbBox = new TComboBox(this);
    cbBox->Parent = this;
    cbBox->Visible = true;
    cbBox->OnSelect = onComboSelect; //이 함수는 동작 하지 않습니다.
}
로 수정합니다.

장성호 님이 쓰신 글 :
: 올려주신 소스만으로는 원인을 알 기 힘들것 같은데요
:
: ComboBox는 언제 Visible=true해주죠?
:
: OnSelect 이벤트가 발생하는 상황은?
: 1. ComboBox에 Focus가 있는 상태에서
: 2. ComboBox의 DropDown화살표를 클릭하여 DropDown폼이 뜬 상황에서
: 3. 아이템을 다른것을 선택할경우에..
:
: 발생합니다.
:
: 그런 상황이 맞는지요?
:
: 최형준 님이 쓰신 글 :
: : StringGrid를 상속받아서 클래스를 하나 만들었습니다.
: : 그 클래스 안에 맴버 변수로 ComboBox를 하나 동적으로 생성해서 사용하고 있는데요
: : (당연히 StringGrid를 상속받은 클래스도 동적으로 생성해서  사용하구요)
: : 이 ComboBox에 이벤트가 발생이 안되는것 같습니다.
: :
: : class CVclProperty : public TStringGrid
: : {
: : public:
: :     __fastcall CVclProperty(_in TComponent* Owner);
: :
: : __published:
: :     void __fastcall onDrawCell(_in TObject *Sender, _in int ACol, _in int ARow,
: :                 _in TRect &Rect, _in TGridDrawState State);
: :
: :     TComboBox *cbBox;
: :     void __fastcall onComboSelect(TObject *Sender);
: : };
: :
: : ---구현부---
: : __fastcall CVclProperty::CVclProperty(_in TComponent* Owner) : TStringGrid(Owner)
: : {
: :     OnDrawCell = (TDrawCellEvent)&onDrawCell; //이 함수는 잘 동작합니다.
: :
: :     cbBox = new TComboBox(this);
: :     cbBox->Parent = this;
: :     cbBox->Visible = false;
: :     cbBox->OnSelect = onComboSelect; //이 함수는 동작 하지 않습니다.
: : }
: :
: : void __fastcall CVclProperty::onDrawCell(_in TObject *Sender, _in int ACol, _in int ARow,
: :                     _in TRect &Rect, _in TGridDrawState State)
: : {
: : //<--이곳으로 들어옵니다.
: : }
: :
: : void __fastcall CVclProperty::onComboSelect(TObject *Sender)
: : {
: :     MessageBox(NULL, "", "xxx", MB_OK); //이곳으로 들어오지 않습니다.
: : }
: :
: :
: :
: : 고수님들의 도움이 필요합니다... 도와주세요~~~

+ -

관련 글 리스트
53146 StringGrid를 상속한 클래스에서 다른 맴버 컴포넌트에게 이벤트가 전달이 안되는것 같습니다. 도와주세요 최형준 1078 2008/04/16
53150     Re:StringGrid를 상속한 클래스에서 다른 맴버 컴포넌트에게 이벤트가 전달이 안되는것 같습니다. 도와주 장성호 1445 2008/04/16
53147     Re:StringGrid를 상속한 클래스에서 다른 맴버 컴포넌트에게 이벤트가 전달이 안되는것 같습니다. 도와주 장성호 1121 2008/04/16
53148         Re:Re:StringGrid를 상속한 클래스에서 다른 맴버 컴포넌트에게 이벤트가 전달이 안되는것 같습니다. 도 최형준 1100 2008/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.