做的按钮在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类的函数,如果没有这几句,程序正常,发现如果画比较简单的图形对按钮的弹起没有影响
,画复杂的图形后按钮不会弹起。
各位高手有没有解决方法??请赐教!!
{
// 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类的函数,如果没有这几句,程序正常,发现如果画比较简单的图形对按钮的弹起没有影响
,画复杂的图形后按钮不会弹起。
各位高手有没有解决方法??请赐教!!
解决方案 »
- 在VC中拖了个树形控件,为树形控件建个类,在类名上右键添加消息处理(WM_RBUTTONDOW),点右键时没反应
- double数据->16进制->CString 有函数能还原回去吗?
- 软件开机自动启动
- matlab与vc混合编程问题
- 在MFC中如何把CString类型的汉字串转换为对应的16进制
- 最小化对话框的问题
- 怎么让COM返回一个数据集
- 对话框调用消息函数的问题
- 问一个ODBC API的问题
- 那个 VC++ .NET 和 VC6 有什么区别呀???
- mfc如何利用Picture控件动态载入JPEG,GIF图片?请大侠帮忙,不甚感激!
- 加了FindFirstChangeNotification监视文件变化以后,窗体就显示不出来了
建议把这里改成向view post一个自定义消息