How do I rename the MFC ribbon panel?我有一个相关的问题。我在功能区中的功能区原始标题以语言A表示。我翻译了语言B中的所有内容,包括面板的名称(使用与上述主题中提供的方法类似的方法)。但是,当我缩小窗口以便一些(或全部)面板折叠时,它们的名称将返回到语言A.当我扩大窗口时,面板的名称会再次翻译成语言B.还没有找到解决方案。任何人有想法? :/编辑:我们使用与标志一起工作的翻译器类,所以根据语言标志,它翻译字符串然后应用于类别,按钮等。我制作了自己的面板类,它源自CMFCRibbonPanel。我加入这个方法:MFC功能区面板名称问题
void CRibbonPanel::setName(CString name)
{
m_strName = name;
}
然后我做一个循环来查找和编辑每一个小组的名字:
(CRibbonPanel*)thePanel->setName(theNewName);
它工作正常,但是当面板被折叠,其标题返回到默认语言。
什么样的tranlsation的你使用? Satellite DLLs? – xMRi 2014-09-04 21:05:04
你可以发布你用来重命名面板的代码吗? – thomiel 2014-09-05 00:48:44
不,我们没有使用卫星DLL,我们使用一个与标记一起工作的翻译器类,所以,根据语言标志,它翻译字符串,然后应用到类别,按钮等。我制作了我自己的面板类派生自CMFCRibbonPanel。我加入这个方法: '无效CRibbonPanel ::的setName(CString的名称)'' {'' = m_strName名;'' }' 它工作正常,但是当面板倒塌,其标题回到默认语言。 – Stoyanov 2014-09-08 07:08:03