2012-07-29 20 views
0

我一直在盯着這個文檔5個小時了。我只是無法連接的步驟。如果你們可以啓發我的東西。把控件放在ToolBar-卡住

這裏是網站: http://msdn.microsoft.com/EN-US/library/bb983718(VS.110).aspx

所以我的問題有以下幾點: -at 5號,它要求我「如下所示設置這些參數:」它沒有就更不在話下什麼地方什麼?在何處實現構造函數,以及爲什麼要使用CMFCToolbarComboBoxButton?當它在步驟4已經要求我派生一個名爲CFindComboButton的類。我不應該爲那一個做一個contstructor嗎?

-at 4(對不起,關於非組織編號的問題),我所做的是使用添加類(不是類嚮導),然後我選擇了MFC類。然後我輸入所謂的CFindComboButton和Base類作爲CMFCToolBarComboBoxButton。我在這件事上做錯了什麼?我是否必須爲ID ID_EDIT_FIND_COMBO做任何事情?

- 當我在String Table中註冊ID_EDIT_FIND_COMBO時,我不完全知道我做了什麼。我是否爲將來的實施註冊了一個ID?或者是別的什麼?

- 所以我不能做第5步,我跳到第6步。它要求我的是在CFindComboButton屬性的覆蓋部分尋找CreateCombo方法。那麼我只能找到3重寫。它們都不是CreateCombo方法。那麼從那裏,你可以知道我迷路了。

我是mfc的noob,因此您可能想考慮這一點。

回答

1

即使你的問題有點跳躍式引導,讓我試着回答,以便它適合你。

  1. 創建兩個類 - 一個從CComboBox派生(稱之爲CFindComboBox)和另一名來自CMFCToolBarComboBoxButton(稱之爲CFindComboBoxButton)。第一堂課將實施當您單擊工具欄中的下拉按鈕時將顯示的Combobox。這個下拉按鈕由CFindComboBoxButton實現。希望這是明確的。

  2. 使用如下所述的三個參數

    現在定義爲CFindComboBoxButton構造爲CFindComboBoxButton(UNIT的NID,詮釋nImage,DWORD dwStyles):

    • 指令的按鈕,這將是ID_EDIT_FIND_COMBO的ID(或任何你想要將其定義爲)。這將在字符串表中定義。只需在字符串表中添加一個ID_EDIT_FIND_COMBO作爲ID和佔位符字符串的新條目。不要忽略字符串值,否則ID將不會被定義。字符串值可以是任何地方,因爲它不會在任何地方使用。
    • 第二個參數只是對CCommandManager :: GetCmdImage(ID_EDIT_FIND)的調用。這將返回用於顯示組合框下拉菜單的默認圖像。如果你想使用自己的自定義圖像,你可以創建一個,而是傳遞它的ID。
    • 第三個參數是您要使用的樣式。它們的定義爲http://msdn.microsoft.com/EN-US/library/7h63bxbe(v=vs.110).aspx,但您可以使用默認值(CBS_DROPDOWNLIST)開始。
  3. 重寫CMFCToolBarComboBoxButton的CreateCombo方法,並將其實現添加到CFindComboBoxButton。在這個方法中創建並返回一個指向CFindComboBox(CComboBox派生類)的指針。

我希望這會消除所有的困惑,你應該在你的方式有一個自定義Combobox嵌入工具欄內。

+0

我目前所面對的工作,所以後來我就檢查了這一點。非常感謝。 – 2012-07-29 22:26:48