正在更新到MFC功能包
Updating to MFC Feature Pack
我有几个从代码Sizing Control Bar派生的Toolbars/Menubar,我希望能够与CFrameWndEx
一起使用,但我找不到一个易于与CControlBar
派生对象一起使用的ShowPane
函数。
例如CFrameWnd
:
ShowControlBar(&m_ctlDimBar, m_ctlDimBar.IsVisible(), FALSE);
使用CFrameWndEx
时,需要替换为:
ShowPane(&m_ctlDimBar, m_ctlDimBar.IsVisible(), FALSE, TRUE);
然而,我不能按原样使用m_ctlDimBar
,因为它是CControlBar
派生的对象,而不是CBasePane
对象。有没有一种简单的方法可以避免不兼容,而不必重写链接中的代码?
CControlBar是工具栏的旧世界,当您使用新的MFC样式时,您必须使用CMFC类中的所有组件。遗憾的是,并不是所有的新课程都是从CMFC开始的。
因此,如果您有一个包含一些内容的CControlBar,那么现在就使用CDockingPane。
CControlBar是CToolBar和其他的旧基类。
新类是以这种方式派生的:CMFCToolBar-<CMFCBaseToolBar->CPane->CWnd
CPane是离您最近的基类,CDockingPane是窗口类允许您放置自己的内容。
了解这些新东西如何工作的最简单方法是使用向导创建一个示例应用程序。然后看看基类不同类型的窗口是如何实现的。这个描述很可怕,几乎不存在。但使用代码并没有那么复杂。)
附言:在我写了一些评论之后,我试着回答。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 多态性和功能结合
- 带内存和隔离功能的SQLite
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 类模板的成员功能的定义在单独的TU中完全专业化
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何在C++中获得"静态纯虚拟"功能?
- C++ MFC Libraries in Travis CI
- MFC/DLL中缺少ATL :: CSTRINGT功能,该功能与Clang/vs-2019构建
- 如何在 MFC 功能包中获取功能区控件以处理ID_WINDOW_TILE_VERT
- 如何在MFC应用程序中使用NetRemoteTOD功能
- 如何将 printf 的功能获取到 MFC 中的编辑控件
- 正在更新到MFC功能包
- 如何在一个没有主要功能的项目中使用OpenGL(例如MFC / Qt),而不使用GLUT
- MFC "Hidden"还是"Default"功能键加速器?
- 如何在MFC功能包应用程序中禁用菜单栏项中的文本恢复
- 如何在MFC功能包中动态添加带有图像的菜单项
- 拖放功能在我的图形-基于对话框的MFC
- 试图了解如何设置定时器功能的工作在MFC
- 正在将注册表访问转换为MFC功能包中的数据库调用