2014-02-27 1 views
1

나는 내가 무엇을 요구하고있어()C++ 윈도우 수면() 다른 작업을 멈추지 않고

SendNumber(LastNumber); 
Sleep(2000+(level*100)); 

SendNumber 모순 WM_SETTEXT와 편집 컨트롤에 LastNumber를 전송하는 기능을 알고있다. 내가 뭘 하려는지, 편집 컨트롤에 텍스트를두고 잠시 동안 프로그램을 잠자고 시간이 끝나면이 텍스트를 제거합니다.

내 문제는 Sleep()이 WM_SETTEXT에서 텍스트를 입력하지 못하게하므로 프로그램이 2000+ (수준 * 100) 밀리 초를 기다렸다가 텍스트가 편집 상자에 표시된다는 것입니다.

시간이 끝날 때까지 프로그램이 앞으로 실행되는 것을 막을 수있는 방법이 있습니까?

+0

타이머, 스레드, ... http://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85%29.aspx 및 WM_TIMER를 참조하십시오. – deviantfan

답변

2

UpdateWindow (your_edit_control)를 추가;

SendNumber 직후.

+0

감사합니다. 이 솔루션은 정확히 묻는 것이 아니지만 좋은 해결책이며 미래의 문제를 쉽게 해결할 것입니다. – yop

6

SetTimer 기능을보십시오. 이렇게하면 지정된 기간 후에 WM_TIMER 메시지가 프로그램에 전송되고 처리 할 수 ​​있습니다.

+1

당신의 창문이 반응이 없어지지 않기 때문에 이것은 ** 많은 ** 잠자는 것보다 낫습니다. – Damon

관련 문제