这里有两个函数我看不明白
麻烦高手解析解析
谢谢
以下是相关的函数:
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
    //...
    ON_COMMAND(ID_SHOWPOPUP, OnShowpopup)
    ON_UPDATE_COMMAND_UI(ID_SHOWPOPUP,OnUpdateShowpupup)
END_MESSAGE_MAPvoid CMainFrame::OnShowpopup() 
{
// TODO: Add your command handler code here
m_PopupVisible=!m_PopupVisible;
ShowControlBar(&m_wndPopupToolBar,m_PopupVisible,FALSE);
RecalcLayout();
m_MyToolBar.m_ComboBox.SetCurSel((m_PopupVisible)?0:1);
}void CMainFrame::OnUpdateShowpopup(CCmdUI* pCmdUI) 
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable();
BOOL show=((m_wndPopupToolBar.GetStyle() & WS_VISIBLE)!=0);
pCmdUI->SetCheck(show);
if (show!=m_PopupVisible){
m_MyToolBar.m_ComboBox.SetCurSel((show)?0:1);
m_PopupVisible=show;
}
}
我不明白OnUpdateShowpopup(CCmdUI* pCmdUI)里面的语句
请指教

解决方案 »

  1.   

    m_wndPopupToolBar.GetStyle() & WS_VISIBLE  的结果是表示m_wndPopupToolBar可见还是不可见呢??
      

  2.   

    m_wndPopupToolBar.GetStyle() & WS_VISIBLE
    表示m_wndPopupToolbar有WS_VISIBLE这个风格
      

  3.   

    OnUpdateShowpopup(CCmdUI* pCmdUI)
    里的语句一般是让弹出的菜单中的项选中时画勾,和灰化一些项用的
      

  4.   

    thanks very much 
    I got it^_^