프로그래밍(Programming)/MFC&API
커서 아이콘 지정
3DMP
2013. 4. 30. 13:32
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
반응형