MFC单文档程序工具栏按钮和菜单按钮禁用与启用有关问题
MFC单文档程序工具栏按钮和菜单按钮禁用与启用问题
求各位大神帮助!!
写了一个单文档分割窗口程序,
其中左边分割窗口放下创建了一个动态创建的树形控件
右边的分割窗口放下了一个动态创建的列表控件
现在想单击树形控件的一个节点,就禁用工具栏和菜单栏的几个按钮
当点击下列表的一条目录,就重新启用被禁用的几个按钮,应该怎么实现?
请懂得的大神给菜鸟个思路吧!
------解决方案--------------------
你的树控件应该是视图类的子类或者子类的子类?那就通过GetParent()或者多个GetParent()就访问到视图类了,各个类之间的关系理清楚就可以。OnUpdateFirstBtn里面要根据变量修改界面,比如:
pCmdUI->Enable(m_firstBtnBtn);
------解决方案--------------------
OnUpdateFirstBtn是在“空闲消息循环”里面得到执行的。
------解决方案--------------------
在CMainFrame中写一个函数来返回它的保护成员CToolBar m_wndToolBar;
然后通过CMainFrame来屏蔽工具栏按钮。
CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd();
pWnd->GetToolBar()->EnableWindow(FALSE);
--------------------
菜单栏的启用与禁用可以通过pCmdUI->Enable(m_firstBtnBtn); 来根据情况禁用哪些菜单。
如果需要禁用整个菜单则可以通过下面代码
------解决方案--------------------
你留个邮箱,看我的例子你就懂了
因为你对Document/View架构还不是很精通
求各位大神帮助!!
写了一个单文档分割窗口程序,
其中左边分割窗口放下创建了一个动态创建的树形控件
右边的分割窗口放下了一个动态创建的列表控件
现在想单击树形控件的一个节点,就禁用工具栏和菜单栏的几个按钮
当点击下列表的一条目录,就重新启用被禁用的几个按钮,应该怎么实现?
请懂得的大神给菜鸟个思路吧!
mfc
分割窗口 单文档
------解决方案--------------------
你的树控件应该是视图类的子类或者子类的子类?那就通过GetParent()或者多个GetParent()就访问到视图类了,各个类之间的关系理清楚就可以。OnUpdateFirstBtn里面要根据变量修改界面,比如:
pCmdUI->Enable(m_firstBtnBtn);
------解决方案--------------------
OnUpdateFirstBtn是在“空闲消息循环”里面得到执行的。
------解决方案--------------------
在CMainFrame中写一个函数来返回它的保护成员CToolBar m_wndToolBar;
然后通过CMainFrame来屏蔽工具栏按钮。
CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd();
pWnd->GetToolBar()->EnableWindow(FALSE);
--------------------
菜单栏的启用与禁用可以通过pCmdUI->Enable(m_firstBtnBtn); 来根据情况禁用哪些菜单。
如果需要禁用整个菜单则可以通过下面代码
CMenu *pMenu=pWnd->GetMenu();
for(int i=pMenu->GetMenuItemCount()-1;i>=0;i--)
{
MENUITEMINFO MenuItemInfo;
MenuItemInfo.cbSize=sizeof(MENUITEMINFO);
MenuItemInfo.fMask=MIIM_STATE;
if (!bEnable)
{
MenuItemInfo.fState=MFS_DISABLED;
}
else
MenuItemInfo.fState=MFS_ENABLED;
pMenu->SetMenuItemInfo(i,&MenuItemInfo,TRUE);
}
------解决方案--------------------
你留个邮箱,看我的例子你就懂了
因为你对Document/View架构还不是很精通