状态栏上有几个按钮,“采集”(ID_COLLECT_DLG)“停止”(ID_STOP),
需求:按下“采集”的时候,程序响应采集函数(onCollect()),按钮一直处于“按下”状态,直到按下“停止”按钮为止。
问题:我用ON_UPDATE_COMMAND_UI来进行设置按钮的状态,代码如下:
void CMainFrame::OnUpdateCollectDlg(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck();
}
可是这样的话,程序一运行就直接进入“采集”按钮按下的状态,请问这种情况我该如何解决?谢谢
需求:按下“采集”的时候,程序响应采集函数(onCollect()),按钮一直处于“按下”状态,直到按下“停止”按钮为止。
问题:我用ON_UPDATE_COMMAND_UI来进行设置按钮的状态,代码如下:
void CMainFrame::OnUpdateCollectDlg(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck();
}
可是这样的话,程序一运行就直接进入“采集”按钮按下的状态,请问这种情况我该如何解决?谢谢
解决方案 »
- 关于P2P的问题,望高手解答下,谢谢!
- 请大家介绍几本“VC数据库开发”方面的书
- 关于WSAEventSelect和IO重叠模型的问题
- ***请问高手:安装DirectX Media 6.0 SDK后,出现编译错误 error C2629: unexpected 'class CDXBnds<TYPE,USTYPE,STTYPE,eBndType>***
- 请问在VC 6下能否使用GDI +? 如何使用?
- 出错对话框为什么会弹出二次?
- 请问那里能买到<<windows 95系统程式设计-虚拟机器与VXD程序设计>>这本书? 急!
- 请教大家全局快捷键如何绑定按钮?
- 如何将一个HBITMAP对象或一个CBitmap对象进行缩放???????
- 怎样才能修改http 报头的内容,控制只提交部分字段?
- 单步跟踪调试怎么出来了汇编
- 菜鸟问个关于如何使用DLL中类的函数的问题。
pCmdUI->SetCheck(m_bDown);
{
pCmdUI->Enable(m_bItemSearch);//m_bItemSearch是BOOL型变量,FALSE变灰不能
//操作,TRUE变亮可以操作
}初始化为TURE,按下为FALSE,另一个按钮按下为TRUE。
另一个按钮相同
OnUpdateCollectDlg()这个函数内,导致程序无法运行,请问这是为什么?谢谢。
MainFrm.hprotected:
afx_msg void OnCollectDlg();(这是一个COMMAND消息)
afx_msg void OnUpdateCollectDlg(CCmdUI* pCmdUI);(这是一个UPDATE_COMMAND_UI消息)
其中还有个onTimer的消息
afx_msg void OnTimer(UINT nIDEvent);
其他的消息可能没有关系,
void CMainFrame::OnCollect()
{
m_bCollDown = true;
SetTimer(1,1000,NULL);
}void CMainFrame::OnUpdateCollectDlg(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here pCmdUI->SetCheck(m_bCollDown);
}
我怀疑是否是那个OnTimer的原因,因此在OnCollect()中把SetTimer(1,1000,NULL)注释掉了,还是不行,
你可以在一次中断后看看数据,把断点去掉。