最近在工作中,遇到了需要将软件从中文转成英文的问题。通常来说,MFC界面上的控件均可以用SetWindowText来解决。但对于Ribbon,往往不怎么好使。也是从网上找了很多资料,最终总结如下。
先上效果图
中文版:
英文版:
如图中,我的界面包括了Ribbon界面中的三种控件,Panel,Button,Category。
当需要从代码去修改时,代码如下
//对于Category界面,修改方法为在MainFrm中的OnCreate生成界面的函数中,加入如下代码
CMFCRibbonCategory *pCategory = m_wndRibbonBar.GetCategory(1);
pCategory->SetName(_T("System"));
//对于Panel界面,修改方法如下,但要特别注意。Panel可能是设计时就没有考虑的问题,直接来说,是不能修改的,只能通过新建子类去进行强转
强转子类如下,新建MFC类,继续MFCRibbonPanel
.h文件为
#pragma once
#include "afxribbonpanel.h"
//继承RibbonPanel的子类
class MyRibbonPanel :public CMFCRibbonPanel
{
public:
MyRibbonPanel(