2009-08-06 175 views
1

我有一個MFC MDI應用程序,我最近從VS2003移植到VS2008,同時從Stingray Objective Studio 2006 v2移到了v10.1。在我的應用程序的以前版本中,如果我打開了多個視圖,則窗口菜單將由可用視圖的枚舉列表填充,例如, 1 MyViewA2 MyViewB etc ...如果我有大量的意見,我還會得到一個Windows ...菜單選項,讓我選擇一個視圖。這不再發生,這正在破壞我的一些GUI級別的迴歸測試。我的猜測是這個功能是通過CMDIFrameWnd或SECMDIFrameWnd實現的,但我在文檔中找不到對它的引用。有誰知道我可以如何獲得這個功能。如何在窗口菜單中顯示可用的窗口

回答

1

我要做的第一件事就是用ClassWizard創建一個新的MDI應用程序,並檢查缺少的功能是否存在。如果是這樣,捅一下,看看你能否說出有什麼不同。一個地方可能是主菜單的菜單資源。

如果沒有內置的功能,提供您所需要的,你可以動態建立與下面的僞代碼菜單的內容:

foreach registered CDocumentTemplate 
    foreach document 
     foreach view 
     { 
      if (numberOfWindowMenuItems < 5) 
      { 
       Add menu item 
      } 
      else 
      { 
       Add "Windows..." menu item 
       break all loops; 
      } 
+0

這是一個很值得我做什麼,其分離出的問題,因爲只有發生在基於Stingray的項目中。自那時以來,我一直在尋求技術支持並得到解決。感謝您的反饋。 – 2009-08-07 06:21:34