C++ CMFCRibbonEdit无法获取焦点

C++ CMFCRibbonEdit无法获取焦点,c++,mfc,ribbon,C++,Mfc,Ribbon,我刚刚在功能区中添加了一个CMFCRibboneEdit,但它似乎没有获得焦点 它似乎已禁用 我甚至从Microsoft示例复制/粘贴了创建此控件的实现,但我得到了相同的行为 知道我可能做错了什么或忘记了做什么吗?您是否为该功能区元素ID添加了更新处理程序 检查MFC功能包中的和示例,了解它们是如何做到这一点的 RibbonGadgets one将向您显示向功能区添加指定类型的元素所需的确切代码。democodemonkey,请正确使用它。功能区元素都需要有一个更新处理程序,甚至是一个虚拟的更新

我刚刚在功能区中添加了一个CMFCRibboneEdit,但它似乎没有获得焦点

它似乎已禁用

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


知道我可能做错了什么或忘记了做什么吗?

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

检查MFC功能包中的和示例,了解它们是如何做到这一点的


RibbonGadgets one将向您显示向功能区添加指定类型的元素所需的确切代码。

democodemonkey,请正确使用它。功能区元素都需要有一个更新处理程序,甚至是一个虚拟的更新处理程序。 如果没有,则禁用


现在一切都正常了。

Ceditribbon的子类

类CMFCRibbonEditEx:public CMFCRibbonEdit { 公众: CMFCRIBBONEDETEX(UINT-nID,int-nWidth,LPCTSTR-lpszLabel=NULL,int-nImage=-1) :CMFCRibbonEdit(nID、nWidth、lpszLabel、nImage){ 虚拟~CMFCRibbonEditEx(){}

})


使用CMFCRibbonEditEx而不是CMFCRibbonEdit

,正如我从这两个示例中复制/粘贴的代码所述。我只是复制了创建代码。您谈论的是更新处理程序,您能详细说明一下吗?但是如何获取CMFCRibbonEdit的OnKillFocus事件呢
    void SetControlFocus()
    {
        m_pWndEdit->SetFocus();
    }