|
WM_KEYDOWN이 발생하면 a()라는 함수가 실행됩니다.
근데.. 키보를 계속 누르고 있으면 WM_KEYDOWN메시지가 계속 발생할꺼고.. 메시지큐에 쌓이게 될겁니다.
그럼 a()라는 함수가 종료되면.. 그동안 쌓여있던 WM_KEYDOWN메시지가 처리될꺼고 a()가 다시 실행이 되는걸로 압니다.
그런데 문제는 a()가 실행되는 시간이 조금 됩니다. 대략 2초 정도 되는데요...
a()가 실행되는 2초 동안에는 WM_KEYDOWN을 받아들이지 않게끔 할려고 합니다. 즉 a()가 실행되면서 받아들이는 WM_KEYDOWN 받지 않고 있다가, a()가 실행이 끝난 후에 WM_KEYDOWN를 받아 a()를 다시 실행시키고자 하는거죠..
아니면 다른 방법으로.. a()가 실행되는 동안 WM_KEYDOWN를 메시지 큐에 쌓아놓되, a()가 끝나면 메시지 큐를 비워버리는 방법도 괜찮을거 같기도 합니다.
서브클래싱을 해서 해결해볼려고 했지만 안되더군요...;;;
어떤 방법으로 하는것이 좋을지 답변 부탁드립니다.
|