2010-01-25 53 views
1

我有Visual Studio 2008,並且想要構建一個GUI應用程序,它的左側有一個可以像firefox書籤邊欄那樣最小化的框架。所以我的問題是:1)我需要什麼類型的項目? 2)什麼控件實際上構成了側邊欄。 3)我怎樣製作主框架,以便在側欄打開時調整大小。一個例子也很酷。 在此先感謝。 CP如何在Visual Studio 2008 C++項目中創建類似firefox的書籤sidebard?

+0

您使用的GUI框架等細節將會很有幫助。 – 2010-01-25 20:44:12

+0

我認爲這是問題的一部分。 – SLaks 2010-01-25 21:00:18

+0

好吧,我的不好。 – 2010-01-26 00:53:42

回答

2

它看起來像一個附加到簡單的SDI框架窗口的TaskPane(CTaskPane)(考慮到firefox使用自己的工具包做了很多自定義的事情(我想,而且我知道這是錯誤的)

下載MFC VS2008功能包(用新的UI控件)和功能包樣品,看看一些樣品的項目(例如「TaskPane」和「VisualStudioDemo」

+1

只是一個小小的增加/更正:如果您使用的是VS 2008,您確實需要SP1,它修復了一些錯誤,並且*和*包含功能包。 – 2010-01-25 21:03:02

2

雖然經常非議,正如Max所指出的那樣,MFC提供了CTaskBar,它專門設計用於這類事情。它裏面的內容看起來很像CTreeCtrl(或CTreeeView)與關聯的CImageList來顯示書籤的圖標。自動處理邊欄打開時調整大型機的大小。要創建包含此項目的項目,請選擇「Visual Studio」應用程序類型(選擇「MFC應用程序」後)。

正如記錄的註釋,我相當肯定的是,FireFox確實而不是實際上使用MFC CTaskBar。 FireFox的側邊欄比較相當有限 - 它只允許一個邊欄與一個窗格在一個位置。 CTaskBar支持多任務欄,用戶可以隨意重新排列,每個任務欄可以有多個平鋪和/或標籤窗格(例如,用戶不僅可以通過拖動來移動完整的任務欄,還可以在兩個窗格之間拖動窗格任務欄,單獨拖出一個窗格成爲一個單獨的任務欄,等等。

請注意,幾乎所有這些都由MFC內部處理 - 您只需創建用於在窗格中存儲和繪製數據的窗口類,它可以處理一些事情,例如跟蹤當前窗格的位置

0

好吧,您可以隨時下載FF here的源代碼並自己尋找,可能會發現超出您的預期;)。另一個值得記住的好工具是spy ++(在VS中),對於查找windows等屬性非常有用。

相關問題