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
[25371] [질문] 컴포넌트를 만들어보던 중 질문입니다.
나그네 [] 632 읽음    2003-04-26 12:21
안녕하세요.

컴포넌트를 한번 만들어보려고 하다가.. 막히는점이 있어서 이렇게 질문을 올립니다.

TControl을 상속받아서 TMWControl이라는 컴포넌트를 만들고 있는데요..

이벤트 핸들링에서 계속 막힙니다.

OnClick 은 TControl에 이미 있기때문에 바로

__published:
   __property OnClick;

이렇게만 해도.. 생성된 컴포넌트에 OnClick 이벤트가 추가가 되고, 동작도 원활히 됩니다.

그런데, TControl에는 OnKeyDown이 없더군요. 그래서 한번 추가해 보려고 또 도움말을 뒤적이다가..

TControl을 상속받은 TWinControl에는 OnKeyDown이 있는것을 발견했습니다.

'TWinControl을 뒤져보면 되겠구나..' 싶은 마음에 controls.hpp 파일을 봤더니.. 양이 장난이 아니네요..

개념도 제대로 잡히지 않은 상태라서 조언을 좀 구할까 합니다.

우선 제가 코딩한 부분은 다음과 같습니다.

class PACKAGE TMWControl : public TControl
{
private:
   TKeyEvent FOnKeyDown;
   MESSAGE void __fastcall WMKeyDown(Messages::TWMKey &Message);

protected:
public:
   __fastcall TMWControl(TComponent* Owner);
__published:
   __property OnClick;
   __property TKeyEvent OnKeyDown = {read=FOnKeyDown, write=FOnKeyDown};
};

이렇게 하니.. 빌드가 되고, OnClick 이벤트도 정상적으로 발생하지만..

KeyDown이벤트는 발생하질 않습니다.

도움말을 보고 잡은 개념으론 이것이 한계인지라.. 막막하네요.

어떻게 해야하는지.. 도움을 좀 주시면 감사하겠습니다.

+ -

관련 글 리스트
25371 [질문] 컴포넌트를 만들어보던 중 질문입니다. 나그네 632 2003/04/26
32391     Re:[질문] 컴포넌트를 만들어보던 중 질문입니다. 김백일.cedar 582 2003/04/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.