CMFCTOOL和TOOLBAR按钮 响应消息函数的传入的变量有问题不对,导致按钮无法使用怎么解决?
lixiang li
40
信誉分
nCOUNT 值是0 不是索引数,导致ID_BUTTON40070 和 ID_BUTTON40010 两个方法不能正常判断索引是怎么回事,求解决
ON_COMMAND(ID_BUTTON40010, &CMainWindow::OnButton40010)
ON_COMMAND(ID_BUTTON40070, &CMainWindow::OnButton40070)
ON_UPDATE_COMMAND_UI(ID_BUTTON40070, &CMainWindow::OnUpdateButton40070)
ON_UPDATE_COMMAND_UI(ID_BUTTON40010, &CMainWindow::OnUpdateButton40010)
void CMainWindow::OnButton40010()
{
state = FALSE;
state2 = !state2;
nCOUNT = mylist.GetItemCount();
if (NextPos <= nCOUNT)
{
NextPos++;
m_ToolBar.GetToolBarCtrl().EnableButton(ID_BUTTON40070, state);
CEdit* pmyEdit = mylist.EditLabel(NextPos);
ASSERT(pmyEdit != NULL);
}
else
{
m_ToolBar.GetToolBarCtrl().EnableButton(ID_BUTTON40070, !state);
}
//MessageBox(L"Three123");
// TODO: 在此添加命令处理程序代码
}
void CMainWindow::OnButton40070()
{
// TODO: 在此添加命令处理程序代码
state2 = FALSE;
state = !state;
if (NextPos > 0)
{
m_ToolBar.GetToolBarCtrl().EnableButton(ID_BUTTON40010, state2);
NextPos--;
}
else
{
m_ToolBar.GetToolBarCtrl().EnableButton(ID_BUTTON40010, !state2);
}
}
void CMainWindow::OnUpdateButton40070(CCmdUI* pCmdUI)
{
if (nCOUNT <= 0|| nCOUNT==1)
{
pCmdUI->Enable(state);
}
else
{
pCmdUI->Enable(!state);
}
// TODO: 在此添加命令更新用户界面处理程序代码
}
void CMainWindow::OnUpdateButton40010(CCmdUI* pCmdUI)
{
if (nCOUNT <= 0 || nCOUNT == 1)
{
pCmdUI->Enable(state2);
}
else
{
pCmdUI->Enable(!state2);
}
// TODO: 在此添加命令更新用户界面处理程序代码
}