我刚刚将CMFCRibbonEdit添加到我的功能区,但它似乎无法获得焦点。
它似乎已停用。
我甚至从Microsoft示例中复制/粘贴了此控件创建的实现,但我得到了相同的行为。
关于我可能做错了什么或忘记做什么的任何想法?
答案 0 :(得分:2)
您是否为该功能区元素ID添加了更新处理程序?
检查MFC功能包中的RibbonGadgets和MSOffice2007Demo示例,看看他们是如何做到的。
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