跪求:MFC的复选框CMFCRibbonCheckBox问题:
vs2010MFC中我在m_wndRibbonBar上创建了一个复选框CMFCRibbonCheckBox,并且用ON_UPDATE_COMMAND_UI映射了处理函数,...
vs 2010 MFC 中我在m_wndRibbonBar上创建了一个复选框CMFCRibbonCheckBox,
并且用ON_UPDATE_COMMAND_UI映射了处理函数,可是这个函数怎么不停的调用啊。
下面是我的代码:
#define ID_SJCJ_GXH_OUTPUT 21201
ON_UPDATE_COMMAND_UI(ID_SJCJ_GXH_OUTPUT, &CMainFrame::OnSjcjGxhOutput)
afx_msg void OnSjcjGxhOutput(CCmdUI* pCmdUI);
void CMainFrame::OnSjcjGxhOutput(CCmdUI* pCmdUI)
{
if(pCmdUI->m_nID == ID_SJCJ_GXH_OUTPUT)
{
pCmdUI->SetCheck(true);
pCmdUI->SetCheck(false);
}
}
执行时。我希望她就闪一次。 复选框就闪个不停。跪求。
可是我不调用SetCheck改成
void CMainFrame::OnSjcjGxhOutput(CCmdUI* pCmdUI)
{
MessageBox(_T("asdlf"));
}
这个函数还是被不停的调用啊。
对于复选框该怎么用啊??跪求。 展开
并且用ON_UPDATE_COMMAND_UI映射了处理函数,可是这个函数怎么不停的调用啊。
下面是我的代码:
#define ID_SJCJ_GXH_OUTPUT 21201
ON_UPDATE_COMMAND_UI(ID_SJCJ_GXH_OUTPUT, &CMainFrame::OnSjcjGxhOutput)
afx_msg void OnSjcjGxhOutput(CCmdUI* pCmdUI);
void CMainFrame::OnSjcjGxhOutput(CCmdUI* pCmdUI)
{
if(pCmdUI->m_nID == ID_SJCJ_GXH_OUTPUT)
{
pCmdUI->SetCheck(true);
pCmdUI->SetCheck(false);
}
}
执行时。我希望她就闪一次。 复选框就闪个不停。跪求。
可是我不调用SetCheck改成
void CMainFrame::OnSjcjGxhOutput(CCmdUI* pCmdUI)
{
MessageBox(_T("asdlf"));
}
这个函数还是被不停的调用啊。
对于复选框该怎么用啊??跪求。 展开
2个回答
展开全部
复选框自己就定义了如果点击,就设置为勾(选中)的处理。
你使用SetCheck就触发这个事件,
这个事件可以给上层提示,所以你这个成递归调用了。不停进入函数,不停触发。
你使用SetCheck就触发这个事件,
这个事件可以给上层提示,所以你这个成递归调用了。不停进入函数,不停触发。
追问
可是我不调用SetCheck改成
void CMainFrame::OnSjcjGxhOutput(CCmdUI* pCmdUI)
{
MessageBox(_T("asdlf"));
}
这个函数还是被不停的调用啊。
对于复选框该怎么用啊??跪求。
追答
我这里只有WTL的环境,不过我想控件应该用法是一样的。
我这里测了下,只会响应了一次,你看看你程序是不是有其他地方也映射了这个函数,
或者哪里循环调用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询