Preload cursor at creation to avoid loading of cursor when event WM_SETCURSOR is called. > ::SetCursor(LoadCursor(NULL, IDC_ARROW)); To > m_pCusorArrow = LoadCursor(NULL, IDC_ARROW); > . . . >::SetCursor(m_pCursorArrow);