如何更改 MDI Tab 文档菜单中的顺序?

Posted

技术标签:

【中文标题】如何更改 MDI Tab 文档菜单中的顺序?【英文标题】:How to change the sequence in the MDI Tab document menu? 【发布时间】:2017-03-10 00:53:34 【问题描述】:

在 MFC 功能包的选项卡式文档视图中,用户可以通过拖放对选项卡重新排序,当使用的选项卡数量较多时,最后会有一个下拉列表。

问题在于带有前 9 个会话和更多窗口的下拉列表的窗口的菜单项,以及选项卡式栏末尾的下拉列表是按文档加载顺序排列的。

有人知道如何更改 CDocManager 类中的文档顺序以保持同步的示例吗?

【问题讨论】:

【参考方案1】:

相关代码见CMFCTabCtrl::OnShowTabDocumentsMenu。

所以重新排序内部数组,你就有了你需要的东西。

你有源代码,所以它不应该是一件大事。

【讨论】:

【参考方案2】:

您可以使用以下代码:

CMFCTabCtrl &t = ((CMainFrame*)m_pMainWnd)->GetMDITabs();
t.MoveTab(<your tab number>, t.GetTabsNum()-1);

【讨论】:

以上是关于如何更改 MDI Tab 文档菜单中的顺序?的主要内容,如果未能解决你的问题,请参考以下文章

MFC MDI应用程序中如何禁止激活其他文件?

MFC/VC 在多文档MDI程序中 子窗口初始最大化显示 如何去掉菜单栏右侧的最小化及向下还原按钮

QMdiArea如何设置Tab尺寸

WinForm排列MDI子窗体

MDI窗体和窗体之间的操作总结

使用 Tab 键时如何更改文本字段选择顺序