CView 클래스에서 WM_SETCURSOR 메시지를 추가하고 아래와 같이 사용한다.
선언
1 2 3 4 5 6 7 8 9 10 11 12 13 | // Cursor Style for Shape control enum CursorStyle { CursorArrow = 0, CursorCross, CursorInputText, CursorSizeAll, CursorSizeNESW, // 우측상단에서 좌측하단 CursorSizeNS, // 수직 CursorSizeNWSE, // 좌측상단에서 우측하단 CursorSizeWE // 수평 }; HCURSOR m_CursorStyleList[8]; |
1 2 3 4 5 6 7 8 9 10 11 | CTestView::CTestView() { m_CursorStyleList[CursorArrow] = LoadCursor(NULL, IDC_ARROW); m_CursorStyleList[CursorCross] = LoadCursor(NULL, IDC_CROSS); m_CursorStyleList[CursorInputText] = LoadCursor(NULL, IDC_IBEAM); m_CursorStyleList[CursorSizeAll] = LoadCursor(NULL, IDC_SIZEALL); m_CursorStyleList[CursorSizeNESW] = LoadCursor(NULL, IDC_SIZENESW); m_CursorStyleList[CursorSizeNS] = LoadCursor(NULL, IDC_SIZENS); m_CursorStyleList[CursorSizeNWSE] = LoadCursor(NULL, IDC_SIZENWSE); m_CursorStyleList[CursorSizeWE] = LoadCursor(NULL, IDC_SIZEWE); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | BOOL CDrawingToolView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { CPoint pt; GetCursorPos(&pt); ScreenToClient(&pt); if (m_rect.PtInRect(pt)) { SetCursor(m_CursorStyleList[CursorSizeAll]); } else { return __super::OnSetCursor(pWnd, nHitTest, message); } return TRUE; } |
아이콘의 종류
*손모양은 IDC_HAND
반응형
'프로그래밍(Programming) > MFC&API' 카테고리의 다른 글
다이얼로그에서 OnIdle() 대신에 OnKickIdle() (0) | 2013.05.30 |
---|---|
[MFC]Log 남기기... (0) | 2013.05.09 |
CMFCPropertyGridCtrl 값 얻기, 세팅 등 메세지 처리 (0) | 2013.04.17 |
오른쪽 버튼으로 빠른 메뉴 구성하기 (0) | 2013.03.26 |
닫기x 와 최대화 최소화 메세지 (0) | 2013.03.11 |