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은 사용하고자 하는 커서의 이름을 지정한다. 윈도우즈가 디폴트로 제공하는 커서에는 다음과 같은 종류가 있다.
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 | 수직 크기 조절 커서 |
'프로그래밍(Programming) > MFC&API' 카테고리의 다른 글
Slider control(슬라이드바 컨트롤) (0) | 2012.11.01 |
---|---|
타이틀바 보이기/숨기기 (0) | 2012.11.01 |
MFC 오른쪽버튼 메뉴 띄우기 (0) | 2012.11.01 |
메뉴바 숨기기 (0) | 2012.11.01 |
툴바,상태바 보이기/숨기기 (0) | 2012.11.01 |