MFC:将 CSplitterWnd 应用到我的 CChildFrame 后,主窗口标题不再更新

2022-01-12 00:00:00 mfc csplitterwnd

仍然使用 VS 2008,我在我的 CChildFrame 中拆分了我的 MDI 视图类,以便在我的旧 CScrollView 使用静态拆分器(源代码).然而,这意味着两个副作用:除了鼠标滚轮不再工作(我找到了解决方法),应用程序窗口SetPathName() 上不再更新.我需要做些什么来桥接拆分器,以便框架根据我的 CDocument 再次更新应用程序窗口?

Still using VS 2008, I have split my MDI view class in my CChildFrame to facilitate a navigation sidebar (a CListCtrl) next to my old CScrollView using a static splitter (source code). This however implied two side effects: Beside the mouse wheel no longer working (where I found a workaround for), the application window is no longer updated on SetPathName(). What do I need to do to bridge the splitter so the framework updates the application window again based on my CDocument?

推荐答案

在你的 MainFrame 类上,放一个方法

On your MainFrame class, just put a method

void CMyFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
    __super::OnUpdateFrameTitle(bAddToTitle);
}

在那里设置一个断点,看看会发生什么.如果需要,您必须提供自己的覆盖,而不是调用 __super 实现.

and a breakpoint there, to see what happens. If needed, you will have to provide your own override instead of calling the __super implementation.

相关文章