2009-11-28 80 views
1

我剛剛添加了一個CMFCRibbonEdit到我的功能區,但它似乎沒有得到重點。CMFCRibbonEdit沒有得到重點

它顯示爲禁用。

我甚至複製/粘貼從Microsoft示例創建此控件的實現,但我得到相同的行爲。

任何想法,我可能做錯了或忘記做?

回答

2

您是否爲該功能區元素ID添加了更新處理程序?

檢查MFC Feature Pack中的RibbonGadgetsMSOffice2007Demo樣本以瞭解它們是如何實現的。

RibbonGadgets會向您顯示您需要使用的確切代碼,以便將指定類型的元素添加到功能區。

+0

如前所述我複製/從這兩個例子粘貼代碼。 我剛剛複製了創建代碼。 你說的是更新處理程序,請你詳細說明一下嗎? – 2009-11-28 22:21:11

0

democodemonkey雖然它正確。功能區元素都需要更新處理程序,甚至是虛擬的。 如果他們不是他們被禁用。

現在一切正常。

+0

但是如何獲取CMFCRibbonEdit的OnKillFocus事件 – Mahantesh 2010-12-24 08:15:02

0

子類的CEditRiBbbon

類CMFCRibbonEditEx:公共CMFCRibbonEdit { 公共: CMFCRibbonEditEx(UINT的NID,INT nWidth,LPCTSTR lpszLabel = NULL,INT nImage = -1) :CMFCRibbonEdit(NID,nWidth,lpszLabel ,nImage){} 虛擬〜CMFCRibbonEditEx(){}

void SetControlFocus() 
    { 
     m_pWndEdit->SetFocus(); 
    } 

};

使用CMFCRibbonEditEx代替CMFCRibbonEdit