반응형

 written by http://www.winapi.co.kr



2-3-나. 커서 바꾸기

예제의 윈도우위에 마우스 커서를 위치시키면 화살표 모양의 커서가 나타난다. 이 커서가 사용되는 이유는 WndClass에서 커서를 지정하는 멤버가 다음과 같이 정의되어 있기 때문이다.

WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);

hCursor 멤버는 윈도우가 기본적으로 사용할 커서를 지정하며 LoadCursor 함수는 커서를 읽어오는 함수이다.

HCURSOR LoadCursor( HINSTANCE hInstance, LPCTSTR lpCursorName ); 

첫번째 인수 hInstance는 커서를 가지고 있는 프로그램의 인스턴스 핸들이되 윈도우즈가 제공하는 디폴트 커서를 사용하려면 이 인수를 NULL로 지정하면 된다. 두번째 인수 lpCursorName은 사용하고자 하는 커서의 이름을 지정한다. 윈도우즈가 디폴트로 제공하는 커서에는 다음과 같은 종류가 있다.

설명
IDC_ARROW화살표 모양
IDC_CROSS십자 모양
IDC_IBEAMI자 모양
IDC_NO원안에 빗금이 쳐진 모양
IDC-WAIT모래시계 모양

LoadCursor 함수의 두번째 인수로 이 값들을 지정해보고 다시 컴파일하여 커서를 직접 변경해 보도록 하자. 윈도우즈가 제공하는 디폴트 커서외에 자신이 직접 커서를 만들어 사용하는 방법도 있는데 이 방법은 5장에 가서 알아보도록 하자.


목록 보기  다음 강좌           

 

 

 

LoadCursor(NULL,IDC_ARROW);

::SendMessage(pView->m_hWnd, WM_SETCURSOR ,1,0);

 

 

 

BOOL CSTool_mapv10MFCView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
 // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
  
 if(m_hCursor){
  ::SetCursor(m_hCursor);
  return TRUE;
 }

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

 

 

 

 

 

 

 

 

커서종류

IDC_ARROW

표준 화살표 커서

IDC_IBEAM

I 모양의 문자열 삽입 커서

IDC_WAIT

모래 시계 커서

IDC_CROSS

십자 모양 커서

IDC_UPARROW

위쪽 화살표 커서

IDC_SIZE

윈도우의 크기를 조정할 때 사용하는 커서

IDC_ICON

파일을 드래그할 때 사용하는 커서

IDC_SIZENWSE

좌상단, 우하단 화살표 커서

IDC_SIZENESW

좌하단, 우상단 화살표 커서

IDC_SIZEWE

수평 크기 조절 커서

IDC_SIZENS

수직 크기 조절 커서

 

 

 


반응형

+ Recent posts