갓토리

MFC] 마우스 이벤트 중복 예약 방지 본문

IT/프로그래밍

MFC] 마우스 이벤트 중복 예약 방지

ZungTa 2015. 6. 11. 23:40

UI를 구현하다 보면 버튼을 눌러서 한 기능을 실행하는 경우에


그 기능의 처리가 끝나지 않았는데도 불구하고 마우스를 클릭했을때

이벤트들이 예약되어 남아있다가 현재 실행중인 기능이 끝났을때

그 예약되어 있던 이벤트들이 한꺼번에 처리되는것을 방지한다.


간단히 설명하면 한 버튼을 눌러서 실행되는 동안 다른 버튼의 눌림 예약을 방지하는 것이다.


코드는 간단하다. 실행중인 기능을 마칠때 마우스 클릭 관련 메시지들을 삭제해버린다.

다음 코드를 실행하는 함수의 마지막에 넣어주면 된다.


밑에 함수를 정의 한 후에 사용해주면 된다.


BOOL RemoveMouseMessage()

{

MSG msg;

while( PeekMessage(&msg, NULL, WM_LBUTTONDOWN, WM_MBUTTONDBLCLK, PM_REMOVE) );

return TRUE;

}


Comments