|
사공엽 님이 쓰신 글 :
: 어떤 이벤트에서 굉장히 오랜 시간이 걸리는 루프를 돌린다면,
: 루프가 도는 동안에는 윈도의 다른 메세지는 처리가 불가능하잖아요?
: 예를들면 루프가 돌아가는 도중에는 창의 이동이 안된다든지, 창의 내용이 paint 되지 않는다든지...
: 이런걸 해결하기 위해서 비베에는 DoEvents라는 함수가 있거든요...
: while...
: begin
: ...
: DoEvents
: end;
:
: 이렇게 써 주면 while문이 돌아가면서도 DoEvents를 만나면 윈도의 메세지를 처리해 주거든요.
: 빌더나 델파이에는 이런 기능이 없나요?
안녕하세요... 문보석입니다...
당근 빠떼루 빌더에도 그러한 기능을 하는 vcl이 있습니다...
바로 Application->ProcessMessages() 라는 놈이죠...
즉, 말씀하신 바와 같이 while 문 안에 저 함수를 적어주면 메시지 큐에 있는 메시지를 처리하고
루프를 돌고 메시지 처리하고 루프 돌고... 이런식이 됩니다....
그럼 도움이 되셨길...
|