본문 바로가기
C & C++/MFC 컨트롤

모래시계 마우스 표시 방법

by izen8 2011. 12. 14.
반응형

MFC 에서 모래시계 마우스 표시 방법은 다음과 같습니다.

 

1. CWaitCursor 클래스를 이용하여서 모래시계 마우스 표시 방법

 

CWaitCursor 객체를 생성한 후, 커서 복원을 위해서 CWaitCursor::Restore() 메소드를 호출하면 됩니다. 관련 예제는 아래와 같습니다.

 

void CWaitView::XXX()

{

  CWaitCursor wait;

 

  // 모래 시계 마우스가 필요한 코드 구간

 

  wait.Restore()

}

 

2. BeginWaitCursor() 와 EndWaitCursor() 메소드를 이용하여서 모래시계 마우스 표시 방법

 

하나의 이벤트 핸들러에서 모래시계 마우스를 표시하고 싶으면 아래와 같이 BeginWaitCursor() 와 EndWaitCursor() 메소드를 사용하여서 모래시계 마우스를 표시할 수 있습니다.

 

void CWaitView::XXX()

{

  BeginWaitCursor();

 

  // 모래 시계 마우스가 필요한 코드 구간

 

  EndWaitCursor(); 

}

 

3. 만약 하나의 이벤트 핸들러에서 BeginWaitCursor() 와 EndWaitCursor() 메소드를 모두 사용하지 않는 경우에는 WM_SETCURSOR 메시지를 처리하는 OnSetCursor 를 수정해야 합니다.

 

void CWaitView::XXX()

{

  m_bWaitCursor = true;

  BeginWaitCursor();

}

 

void CWaitView::OnSetCursor( CWnd * pWnd, UINT nHitTest, UINT message )

{

  if( m_bWaitCursor )

  {

    RestoreWaitCursor();

    return TRUE;

  }

 

  return CView::OnSetCursor( pWnd, nHitTest, message );

}

 

void CWaitView::XXX2()

{

  EndWaitCursor();

  m_bWaitCursor = false;

}

 

추가로 OnSetCursor() 이벤트 핸들러만 수정하여서 마우스 커서를 수정할 수도 있다.

반응형

댓글