5个回答
展开全部
两种方法:
1、派生一个cbutton类,然后重载onsetcursor函数,在里面
使用setcursor函数设置鼠标指针。
然后删除
return
cbutton::onsetcursor(pwnd,
nhittest,
message);
改成
return
true;
例如:
bool
cmybutton::onsetcursor(cwnd*
pwnd,
uint
nhittest,
uint
message)
{
::setcursor(::loadcursor(null,
makeintresource(idc_hand)));
return
true;
}
2、直接在程序里,响应wm_mousemove消息,在里面判断鼠标指针是否指到了按钮上,是的话就用setcursor函数设置鼠标指针,离开再设回以前的指针
1、派生一个cbutton类,然后重载onsetcursor函数,在里面
使用setcursor函数设置鼠标指针。
然后删除
return
cbutton::onsetcursor(pwnd,
nhittest,
message);
改成
return
true;
例如:
bool
cmybutton::onsetcursor(cwnd*
pwnd,
uint
nhittest,
uint
message)
{
::setcursor(::loadcursor(null,
makeintresource(idc_hand)));
return
true;
}
2、直接在程序里,响应wm_mousemove消息,在里面判断鼠标指针是否指到了按钮上,是的话就用setcursor函数设置鼠标指针,离开再设回以前的指针
展开全部
我也不同意建立新类
首先建立一个RECT区域,并且用LoadCursor得到你需要的鼠标形状(这个rect就是你按纽的区域)
然后在响应ON_MOUSEMOVE时,符合鼠标移动到rect区域内时,使用SetCursor改变你在此区域内的鼠标形状
最后返回刷新指定区域的消息
首先建立一个RECT区域,并且用LoadCursor得到你需要的鼠标形状(这个rect就是你按纽的区域)
然后在响应ON_MOUSEMOVE时,符合鼠标移动到rect区域内时,使用SetCursor改变你在此区域内的鼠标形状
最后返回刷新指定区域的消息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建立一个新类MyCButton,基类是CButton
添加响应鼠标移动的消息OnMouseMove(UINT nFlags, CPoint point) ,用SetCursor();设置鼠标
将添加一个MyCButton的按钮
添加响应鼠标移动的消息OnMouseMove(UINT nFlags, CPoint point) ,用SetCursor();设置鼠标
将添加一个MyCButton的按钮
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意上楼的意见,但好的不是OnMouseMove(UINT nFlags, CPoint point) 而是afx_msg BOOL OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message );本人已试过了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为啥要建一个新类
直接用SetCursor(::LoadCursor(NULL, IDC_APPSTARTING));
直接用SetCursor(::LoadCursor(NULL, IDC_APPSTARTING));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询