做的按钮在cmainframe中代码:void CMainFrame::OnWave1() //IDC_wave1是按钮1的资源号
{
// TODO: Add your command handler code here
if(m_Wave2.IsVisible())
ShowControlBar(&m_Wave2, FALSE, FALSE);
ShowControlBar(&m_Wave1, TRUE, FALSE); CProgram_interfaceView* view = (CProgram_interfaceView*)((CFrameWnd*)AfxGetMainWnd())->GetActiveView();
view->windowflag=0;
view->Setgl();
}void CMainFrame::OnUpdateWave1(CCmdUI* pCmdUI) 
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(TRUE);   //Enable():用来控制菜单和工具条的使能和禁止状态
//SetCheck():用来控制工具条的按下和弹起状态。
pCmdUI->SetCheck(m_Wave1.IsVisible());
}
void CMainFrame::OnWave2() //IDC_wave1是按钮2的资源号
{
// TODO: Add your command handler code here

if(m_Wave1.IsVisible())
ShowControlBar(&m_Wave1, FALSE, FALSE);
ShowControlBar(&m_Wave2, TRUE, FALSE); CProgram_interfaceView* view = (CProgram_interfaceView*)((CFrameWnd*)AfxGetMainWnd())->GetActiveView();
view->windowflag=1;//windowflag不同画不同的图形
view->Setgl();//调用view类的函数

}void CMainFrame::OnUpdateWave2(CCmdUI* pCmdUI) 
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(TRUE);   //Enable():用来控制菜单和工具条的使能和禁止状态
//SetCheck():用来控制工具条的按下和弹起状态。
pCmdUI->SetCheck(m_Wave2.IsVisible());
}veiw类中是OPenGL画的的三维图形,在view类当中有定时器settimer(),如果不调用view类的响应按下按钮1后,
按钮2会自动弹起;按下按钮2后,按钮1会自动弹起;但是当当调用view类的响应是按下1后2就不会弹起,是不是timer
的消息影响了按钮的CmdUI,因此检查按钮的状态就失效了。
红色部分是调用view类的函数,如果没有这几句,程序正常,发现如果画比较简单的图形对按钮的弹起没有影响
,画复杂的图形后按钮不会弹起。
各位高手有没有解决方法??请赐教!!