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
[45479] Re:Re:Re:[수정]컴포넌트 관련 질문 몇가지
박지훈.임프 [cbuilder] 829 읽음    2006-06-28 07:40
무슨 키 처리를 하시려는 것인지 구체적으로 말씀해주셔야 할 거 같은데요.

처음 질문하실 때는 일반적인 키 처리를 하실 것처럼 말씀하셨는데, 이번에 다시 쓰신 내용을 보니 탭키와 방향키를 말씀하시는군요. 포커스 이동을 위한 탭키와 방향키는 원래 WM_GETDLGCODE에서 처리하는 것이 맞습니다. 그 관련 작업을 폼에서 처리하는 거구요.

기본적으로는 후킹까지 쓰는 것은 아니고 그냥 메시지 핸들러를 만드는 것이 보통입니다. 후킹은 배보다 배꼽이 더 크죠.
TWinControl의 OnkeyDown에 무슨 동작을 기대하셨는지 말씀을 안해주셔서 그 관련 답변을 드릴 수가 없네요.
어떤 키가 들어왔을 때 어떻게 동작하게 하고 싶다, 그렇게 구체적으로 말씀하셔야 답변이 가능할 듯 합니다.

그럼...


김재원 님이 쓰신 글 :
: 답변 감사합니다.
: 일단 문제는 찾았습니다.
: 답변하신 내용중에 있는 문제인데, 폼에 있는 컴포넌트에서 방향키를 누르면 포커스가 옮겨가는 처리를 해당 컴포넌트가 아닌 폼에서 처리한다더군요.. 방향키와 탭키는 기본적으로 다이얼로그가 처리해서 WM_GETDLGCODE를 후킹해서 해결하였습니다.
:
: 그런데 한가지 궁금한 것이, TCustomPanel에는 OnkeyDown 헨들러가 없지만 TWinControl에는 있기 때문에, 이놈을 오버라이딩 하면 처리가 가능한거 아닌가요? 실제로 구현하였을 때 키다운 이벤트로 들어오던데..
: 혹시 다른 의미인지..
:
: 아, 그리고 밑에 다른 질문인 컴포넌트 위에 컴포넌트가 올라가 있는 상황에서 밑에 있는 컴포넌트가 자신 위에 있는 컴포넌트 영역을 포함하게 그리는 방법은 없더군요.. 굳이 하자면 해당 컴포넌트에 메세지를 날려서 그 컴포넌트가 자신의 영역에 그려주는 방법밖엔 없다네요..

+ -

관련 글 리스트
45427 [수정]컴포넌트 관련 질문 몇가지 김재원 1306 2006/06/24
45443     Re:[수정]컴포넌트 관련 질문 몇가지 박지훈.임프 899 2006/06/26
45459         Re:Re:[수정]컴포넌트 관련 질문 몇가지 김재원 858 2006/06/26
45479             Re:Re:Re:[수정]컴포넌트 관련 질문 몇가지 박지훈.임프 829 2006/06/28
45429     Re:[수정]컴포넌트 관련 질문 몇가지 828 2006/06/24
45431         Re:Re:[수정]컴포넌트 관련 질문 몇가지 김재원 826 2006/06/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.