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
[37167] KeyPreview 를 true로 처리해도 같은 결과였습니다.
leo21c [leo21c] 1748 읽음    2004-09-08 09:07
답변 감사합니다.
이미 그렇게 처리한 상태였습니다.
그래서 MainForm에도 WinProc를 만들어 봤습니다.
역시나 KeyDown은 먹지만 WinProc의 WM_CHAR에는 들어 가지 않더군요.
지금 최후의 방법으로 Focus를 받을 수 있는 Text처리 Component나 또는 투명한 Component를
만들려고 계획중입니다.
항상 도움을 주시는 유영인님 정말 감사합니다.


유영인  Cuperido 님이 쓰신 글 :
: 폼의 KeyPreview 를 true 로 해주시면, 폼 내에 있는 모든 객체의 키보드 이벤트가
: 폼의 이벤트로 전달됩니다.
:
: 이렇게 해보시고 안되면 다시 질문해 주세요.. 같이 연구해보죠.. :)
:
:
: cuperido
:
: leo21c 님이 쓰신 글 :
: : Edit을 개발하고 있습니다.
: : WinProc를 Form의 SubClass로 만들어서 WM_CHAR, WM_IME_CHAR을 처리하는데
: : 문제가 발생했습니다.
: : Form에 Focus가 가지 않는 것입니다.
: :
: : 예를들어 현재 Form에는 TImage와 여러개의 Component가 있습니다.
: : Form에 Focus가 가면 Component가 Focus 가지고 가버리는군요.
: : 이럴경우 KeyDown이벤트가 발생해도 WM_CHAR 메세지가 발생되지 않아서
: : 그냥 Return되어 버립니다.
: :
: : 그러나 Application이 Focus를 잃었다가 다시 SetFocus 이벤트가 발생하면
: : 이 때에는 Form에서 이벤트를 받아 KeyDown이 발생할 때 WM_CHAR이 처리
: : 되더군요.
: :
: : 이거 찾아내는데 엄청 시간이 걸렸습니다.
: : (FontDialog->Execute()후에만 WM_CHAR이 먹더군요. 그래서 엄청 고생하면서
: : 얻은 결론입니다.)
: :
: : 이런 문제를 해결할 수 없을까요?
: : Image에 MouseDown을 한 후에 KeyDown이 발생하면 WM_CHAR이 먹어야
: : 합니다. 어떻게 처리하면 좋을까요?
: : 혹시 처리하신 경험이 있으시면 답변좀 올려주세요.

+ -

관련 글 리스트
37159 Form에 Focus를 주는 방법이 있을까요? leo21c 983 2004/09/07
37164     Re:Form에 Focus를 주는 방법이 있을까요? 유영인 Cuperido 1101 2004/09/08
37167         KeyPreview 를 true로 처리해도 같은 결과였습니다. leo21c 1748 2004/09/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.