|
답변 감사합니다.
이미 그렇게 처리한 상태였습니다.
그래서 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이 먹어야
: : 합니다. 어떻게 처리하면 좋을까요?
: : 혹시 처리하신 경험이 있으시면 답변좀 올려주세요.
|