00. Índice
Artigo Diretório
01. Visão geral do caso
Um bom software deve ser vendido em todo o mundo. Se o software for todo em inglês, causará transtornos aos usuários que não sabem inglês. Portanto, na fase de desenvolvimento de software, prepare-se para vários idiomas e projete os recursos correspondentes para todas as linguagens., os aplicativos criados pelo Visual C ++ podem alterar dinamicamente esses recursos e o exemplo realiza a alteração dinâmica dos recursos da barra de ferramentas. Resultados conforme mostrado abaixo.
[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo anti-leeching. Recomenda-se salvar a imagem e carregá-la diretamente (img-HnBjsv3i-1615024814211) (assets / image-20210306175955432.png)]
02. Ambiente de desenvolvimento
Ambiente do sistema: Windows 10
Ambiente de desenvolvimento: Visual Studio 2019
03. Tecnologia Chave
Para realizar a barra de ferramentas multilíngue, você precisa projetar a barra de ferramentas para cada idioma separadamente.Como mostrado na figura abaixo, a barra de ferramentas em chinês e a barra de ferramentas em inglês são projetadas separadamente.
Não apenas o ícone do botão da barra de ferramentas deve ser projetado em chinês e inglês, mas também o atributo de idioma da barra de ferramentas deve ser modificado. As propriedades da barra de ferramentas são mostradas na figura abaixo.
04. Programação
(1) Crie um novo aplicativo baseado em diálogo.
(2) Adicione o recurso da barra de ferramentas chinesa IDR_TOOLCHI e o recurso da barra de ferramentas inglesa IDR_TOOLEN ao projeto.
(3) A função de realização OnEnglish do botão "english" realiza a troca da barra de ferramentas em inglês, o código é o seguinte.
void CMy6DialogDlg::OnBnClickedButtonchi()
{
// TODO: 在此添加控件通知处理程序代码
//加载中文工具栏
m_ToolBar.LoadToolBar(IDB_TOOLCHI);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
void CMy6DialogDlg::OnBnClickedButtoneng()
{
// TODO: 在此添加控件通知处理程序代码
m_ToolBar.LoadToolBar(IDB_TOOLEN);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
BOOL CMy6DialogDlg::OnEraseBkgnd(CDC* pDC)
{
//TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetWindowRect(&rect);
CDC memDC;
CBitmap bitmap;
CBitmap* bmp = NULL;
bitmap.LoadBitmap(IDB_BITMAP1);//装载背景位图
memDC.CreateCompatibleDC(pDC);
bmp = memDC.SelectObject(&bitmap);
pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);
if (bmp) memDC.SelectObject(bmp);
return TRUE;
}
05. Método secreto da mente
Recursos para Visual C ++
Usando o Visual C ++ para desenvolver aplicativos, é necessário entender o conceito de recursos. No Visual C ++, ícones, bitmaps, caixas de diálogo, barras de ferramentas e strings são todos chamados de recursos. Os recursos têm atributos de linguagem e os aplicativos podem chamar os mesmos Recursos diferentes para atributos de linguagem.
06. Baixe o código fonte
Download: 【MFC】 Multilingual Toolbar.rar
07. Apêndice
Referência: "Visual C ++ From Entry to Proficiency (Project Case Edition)"