1. 程式人生 > 其它 >如何使MDI MFC應用程式在工作列中顯示一個例項?(How do you make your MDI MFC app show one instance in the TaskBar?)

如何使MDI MFC應用程式在工作列中顯示一個例項?(How do you make your MDI MFC app show one instance in the TaskBar?)

技術標籤:C/C++

我有一個MDI應用程式,當我單擊新文件時,它將開啟一個單獨的選項卡。這將在Windows的工作列中建立該圖示的另一個例項。我有什麼辦法可以更改此行為,以便僅在工作列上顯示一個圖示例項?

我知道一種方法是使用SDI並在檢視中使用標籤,但我想將其保留為MDI。這有可能嗎?

經過一天的探索,我找到了解決方案。天哪,最終解決這個問題感覺很好。無論如何,這裡都是解決方案。

我只需要重寫子框架的 CanShowOnTaskBarTabs()方法來返回FALSE。這是類方法:

首先在childframe.h檔案中,將以下程式碼放入類宣告中

public:
     virtual BOOL CanShowOnTaskBarTabs() override;

然後在childframe.cpp檔案中,將以下程式碼放在最底部:

BOOL CChildFrame::CanShowOnTaskBarTabs()
{
    return FALSE;
}

漆學軍於2020.12.22日 親測有效,win10平臺,visual studio 2015