CMFCRibbonEdit没有获得焦点

时间:2009-11-28 20:54:09

标签: c++ mfc ribbon

我刚刚将CMFCRibbonEdit添加到我的功能区,但它似乎无法获得焦点。

它似乎已停用。

我甚至从Microsoft示例中复制/粘贴了此控件创建的实现,但我得到了相同的行为。

关于我可能做错了什么或忘记做什么的任何想法?

3 个答案:

答案 0 :(得分:2)

您是否为该功能区元素ID添加了更新处理程序?

检查MFC功能包中的RibbonGadgetsMSOffice2007Demo示例,看看他们是如何做到的。

RibbonGadgets将显示您需要使用的确切代码,以便将指定类型的元素添加到功能区。

答案 1 :(得分:0)

democodemonkey虽然它正确。功能区元素需要都有一个更新处理程序,甚至是虚拟处理程序。 如果他们不这样做,他们就会被禁用。

现在一切都很完美。

答案 2 :(得分:0)

CEditRiBbbon

的子类

class CMFCRibbonEditEx:public CMFCRibbonEdit { 上市:     CMFCRibbonEditEx(UINT nID,int nWidth,LPCTSTR lpszLabel = NULL,int nImage = -1)         :CMFCRibbonEdit(nID,nWidth,lpszLabel,nImage){}         virtual~CMFCRibbonEditEx(){}

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

};

使用CMFCRibbonEditEx而不是CMFCRibbonEdit