首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于SetCursor的疑问,该如何解决

2012-03-20 
关于SetCursor的疑问写一个游戏,其中一个功能是在屏幕的不同区域,显示不同的鼠标光标.上网找了找,总结起来

关于SetCursor的疑问
写一个游戏,其中一个功能是在屏幕的不同区域,显示不同的鼠标光标.
  上网找了找,总结起来得到如下实现:
[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下编译的.
  如何做才能实现呢?

[解决办法]
检查下LoadCursor是否加载成功
可以在
SetCursor(hCursor) ;
ShowCursor(TRUE);
[解决办法]

C/C++ code
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;}
[解决办法]
添加处理WM_SETCURSOR消息

热点排行