【发布时间】:2012-11-06 17:08:46
【问题描述】:
我有一个 MDI 应用程序,当我单击新文档时,它会打开一个单独的选项卡。这将在 Windows 的任务栏中创建另一个图标实例。有什么办法可以改变这种行为,以便在任务栏上只显示一个图标实例?
我知道一种方法是使用 SDI 并在视图中使用选项卡,但我想将其保留为 MDI。这甚至可能吗。
我试图模仿这个名为“Dameware NT Utilities”的特定应用程序的视图: http://www.dameware.com/v3-dameware/media/DameWare/DW%20NTU/Carousel/DRS-Primary-medium.png?width=490&height=276&ext=.png
【问题讨论】:
-
我相信每个顶级窗口在任务栏中都有一个标签。避免这种情况的唯一方法是让每个窗口都成为主窗口的子窗口。
-
在我的应用程序中,我有一个主框架和一个子框架。我的视图当前都在使用子框架,但选项卡仍显示在任务栏中。这是否意味着框架层次结构与窗口层次结构不同?你知道我将如何将子窗口设置为主窗口的子窗口吗?
-
抱歉,我现在明白你的意思了。显然 MDI 界面的某些方面我已经过时了。
-
我很高兴地说,经过大量的挖掘,我终于找到了解决方案。我会发布作为答案。感谢马克让我思考正确的道路。这是覆盖子窗口(子框架)CanShowOnTaskBarTabs() 方法的问题。
标签: visual-c++ mfc mdi