代码之家  ›  专栏  ›  技术社区  ›  Fabien Hure

CMFCribbonedit未获得焦点

  •  1
  • Fabien Hure  · 技术社区  · 14 年前

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

    它似乎已禁用。

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

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

    3 回复  |  直到 13 年前
        1
  •  2
  •   demoncodemonkey    14 年前

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

    检查 RibbonGadgets MSOffice2007Demo MFC功能包中的示例,以查看它们是如何做到的。

    RibbonGadgets One将向您显示为向功能区添加指定类型的元素而需要使用的确切代码。

        2
  •  0
  •   Fabien Hure    14 年前

    democodemonkey认为它是正确的。功能区元素都需要有一个更新处理程序,甚至是一个虚拟的。 如果他们没有,他们就是残疾人。

    现在一切正常。

        3
  •  0
  •   Mahantesh    13 年前

    将ceditribbbon分为子类

    类cmfcribboneditex:公共cmfcribbonedit { 公众: cmfcribboneditex(uint nid,int nwidth,lpctstr lpszlabel=null,int nimage=-1) :cmfcribbonedit(nid,width,lpszlabel,nimage) 虚拟~cmfcribboneditex()

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

    };

    使用cmfcribboneditx而不是cmfcribbonedit