写一个游戏,其中一个功能是在屏幕的不同区域,显示不同的鼠标光标.
  上网找了找,总结起来得到如下实现:
[code=C/C++] HCURSOR hCursor = LoadCursor(hInstance, IDC_NO) ; while (1)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (WM_QUIT == msg.message)
break ;
TranslateMessage(&msg) ;
DispatchMessage(&msg) ;
}
SetCursor(hCursor) ;
}code]
  结果在程序窗口干脆看不到光标了.VC2005在Win7下编译的.
  如何做才能实现呢?

解决方案 »

  1.   

    HCURSOR hCursor = LoadCursor(hInstance, IDC_NO) ; while (1)
    {
    if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
    if (WM_QUIT == msg.message)
    break ;
    TranslateMessage(&msg) ;
    DispatchMessage(&msg) ;
    }
    SetCursor(hCursor) ;
    }
      

  2.   

    检查下LoadCursor是否加载成功
    可以在
    SetCursor(hCursor) ;
    ShowCursor(TRUE);
      

  3.   

    BOOL CDockBarCtrl::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
    {
    if (nHitTest==HTSIZE)
    if (m_dwStyle&(CBRS_ORIENT_HORZ))
    SetCursor(LoadCursor(NULL,IDC_SIZENS));
    else
    SetCursor(LoadCursor(NULL,IDC_SIZEWE));
    else
    return CControlBar::OnSetCursor(pWnd, nHitTest, message);
    return TRUE;
    }