MFC:从CView访问m_wndToolBar?

MFC:从CView访问m_wndToolBar?,mfc,Mfc,我需要稍微超出启用和禁用工具栏项的标准MFC处理。这部分很好用。但是我有一个CTreeView,其中我还需要根据树状视图中选择的内容启用/禁用工具栏项目。我可以通过AfxGetMainWnd()获取CMainFrame指针,但无法访问m_wndToolBar 在MFC中处理此问题的推荐方法是什么 蒂娅 解决方案之一是简单地将GetMyToolbarpublic方法添加到CMainFrame类中,该类将返回指向m_wndToolBar的指针 CMFCToolBar*CMainFrame::GetM

我需要稍微超出启用和禁用工具栏项的标准MFC处理。这部分很好用。但是我有一个
CTreeView
,其中我还需要根据树状视图中选择的内容启用/禁用工具栏项目。我可以通过
AfxGetMainWnd()
获取
CMainFrame
指针,但无法访问
m_wndToolBar

在MFC中处理此问题的推荐方法是什么


蒂娅

解决方案之一是简单地将
GetMyToolbar
public方法添加到
CMainFrame
类中,该类将返回指向
m_wndToolBar
的指针

CMFCToolBar*CMainFrame::GetMyToolbar()
{
返回&m_wndToolBar;
}

执行此操作时,工具栏未更新。事实证明,我需要的正确方法是在CTreeView中为工具栏项设置更新命令UI。然后使用
pCmdUI->Enable()
设置正确的状态。很好。@df234987我想这是因为文档样式的项目设计使用了
UPDATE\u命令\u UI
机制。因此,如果您手动执行操作,它们可能会被该机制覆盖。很好,你搞定了。也许可以加上你自己的答案。