关于VC++ CButton的一个问题

在基于对话框的APPwizard的程序中,我依据书中创建一个按钮,然后用SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1)));... 在基于对话框的APPwizard的程序中,我依据书中创建一个按钮,然后用SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1)));资源都有的,编辑、连接都没问题,就是出不来结果,请高手指点!万分感激。
按钮单击
void CBtn::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));
CButton::OnMouseMove(nFlags, point);
}
我继承了CButton,上面加了OnMouseMove,并在那个按钮上关联了这个类,还是没反应,那个五级举人的办法不行,我试过了,还有对BN_SETFORCE获得焦点,然后在此函数下使用SetCursor函数!不会。能说的详细点吗?
展开
 我来答
百度网友1d8e8b9
2007-10-08 · TA获得超过913个赞
知道小有建树答主
回答量:589
采纳率:60%
帮助的人:322万
展开全部
仅仅使用SetCursor是不够的。要自己写一个CButton,然后在里面响应OnSetCursor才行,还有重写OnHitTest等,这样才完整,否则,按钮重绘时会自动改回来。

如果你想省事,那么响应WM_MOUSEMOVE消息吧,把 SetCursor放到里面。但是这样会闪烁的。

★对于问题补充的回答:
事实上你不必特意的关联按钮类,只要你的按钮类是从CButton继承来的,那么只要为你的按钮添加一个控件变量,把变量的类型改为你自己的按钮类就可以了。
★第二次补充:
干脆你去www.codeproject.com上去下一个MFC按钮控件,看看人家是怎么弄的.事实上很简单.
吉米有态度
2007-10-06 · TA获得超过119个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:237万
展开全部
SetCursor有两个,一个是CButton的内部方法,还有一个是API函数。实验发现,要使用CButton的SetCursor方法,不仅要自己新建一个CButton类,还要在资源编辑器中将button和你新建的button类关联,还要将button的属性设置为“icon,flat”,否则,CButton::SetCursor函数调用将失败
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pigkiller23
2007-10-05 · TA获得超过1750个赞
知道小有建树答主
回答量:736
采纳率:0%
帮助的人:551万
展开全部
应该知道SetCursor是用来设置鼠标的吧?那么,下面就要看你在什么事件里面响应的了。

-->问题就出在,你鼠标单击的那一刹那产生作用了,如果你想看清楚的话应该用楼下的那个事件,不对,现在应该是楼上了。
--〉而且,你多了一个右括弧 ^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭奕pnIyZ
2007-10-05 · TA获得超过106个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:77.1万
展开全部
你是不是想,鼠标放在按钮上,出现你创建的鼠标样式啊!应该建立消息函数,BN_SETFORCE获得焦点,然后在此函数下使用SetCursor函数!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式