C++ 从CMDIFrameWndEx浮动(或分离)选项卡式CMDIChildWndEx窗口,知道吗?

C++ 从CMDIFrameWndEx浮动(或分离)选项卡式CMDIChildWndEx窗口,知道吗?,c++,windows,visual-studio,mfc,mdi,C++,Windows,Visual Studio,Mfc,Mdi,在visual studio中,所有打开的编辑器窗口都在工作区中以选项卡形式显示。右键单击其中一个窗口时,菜单中会有一个“浮动”选项。如果浮动窗口,则该窗口将与选项卡分离,您可以将其拖到任何位置,然后可以将其停靠回选项卡 我创建了一个测试mdi项目,这不是默认行为 我重写了ID_FILE_NEW命令并遵循OpenDocumentFile例程,从未发现框架将新创建的子框架窗口添加到选项卡的位置 在OpenDocumentFile例程中,我遇到了一个CMFCTabCtrl类,其中有一个AddTab函

在visual studio中,所有打开的编辑器窗口都在工作区中以选项卡形式显示。右键单击其中一个窗口时,菜单中会有一个“浮动”选项。如果浮动窗口,则该窗口将与选项卡分离,您可以将其拖到任何位置,然后可以将其停靠回选项卡

我创建了一个测试mdi项目,这不是默认行为

我重写了ID_FILE_NEW命令并遵循OpenDocumentFile例程,从未发现框架将新创建的子框架窗口添加到选项卡的位置

在OpenDocumentFile例程中,我遇到了一个CMFCTabCtrl类,其中有一个AddTab函数

现在使用AddTab函数:

virtual void AddTab(
   CWnd* pTabWnd,
   LPCTSTR lpszTabLabel,
   UINT uiImageId = (UINT)-1,,
   BOOL bDetachable = TRUE
);

virtual void AddTab(
   CWnd* pTabWnd,
   UINT uiResTabLabel,
   UINT uiImageId = (UINT)-1,
   BOOL bDetachable = TRUE
);
评论如下:

如果pTabWnd指向不是从CDockablePane类派生的对象,则

如果bDetachable为TRUE,框架将自动为pTabWnd对象创建包装器

包装器使pTabWnd对象可分离

默认情况下,包装器是CDockablePaneAdapter类的实例

如果默认包装提供的功能不可接受

使用CMFCBaseTabCtrl::SetDockingBarWrapperRTC方法指定不同的包装

还是不走运

我尝试在运行中创建一个CView并将其附加到CDockablePane中的CDockablePane中,这样我就可以将旧的选项卡式视图切换到新的可停靠视图。它还不起作用

那么,您对从CMDIFrameWndEx浮动选项卡式CMDIChildWndEx窗口有何想法?

“仍然不走运”-做什么?不清楚你在问什么。你一直在谈论一些毫不相干的事情,最后却以可怕的“有什么想法吗?”。好吧,是的,问一个明确的问题,拿着笔记本,读一读,“仍然没有运气”-做什么?不清楚你在问什么。你一直在谈论一些毫不相干的事情,最后却以可怕的“有什么想法吗?”。好吧,是的,问一个明确的问题,拿着书读。