|
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이 먹어야
합니다. 어떻게 처리하면 좋을까요?
혹시 처리하신 경험이 있으시면 답변좀 올려주세요.
|