Winapi 如何本地化win32对话框?
我正在使用各种控件(如静态文本、复选框等)处理Win32对话框,所有字符串都需要针对不同语言进行本地化。 我为我们国际设计了对话。但当我放置本地化字符串时,这些字符串不合适,我必须更改每个intl的布局 有更好的方法吗Winapi 如何本地化win32对话框?,winapi,localization,dialog,Winapi,Localization,Dialog,我正在使用各种控件(如静态文本、复选框等)处理Win32对话框,所有字符串都需要针对不同语言进行本地化。 我为我们国际设计了对话。但当我放置本地化字符串时,这些字符串不合适,我必须更改每个intl的布局 有更好的方法吗 我是否可以创建一个对话框,其中一个布局应适用于所有Intsl???我记得在MS的GUI资源初始布局期间,他们最初使用德语创建对话框,然后再次检查至少使用英语和日语的布局 一旦对话框布局适应了这三种语言,它通常不需要进一步的布局更改 你可以考虑使用。如果你能解决将数据输入和输出对话
我是否可以创建一个对话框,其中一个布局应适用于所有Intsl???我记得在MS的GUI资源初始布局期间,他们最初使用德语创建对话框,然后再次检查至少使用英语和日语的布局 一旦对话框布局适应了这三种语言,它通常不需要进一步的布局更改
你可以考虑使用。如果你能解决将数据输入和输出对话框的黑魔法,HTML确实具有自动缩放控件以适应其文本边界的优势。过去,我从
CDialog
实现了以下派生类,称为CLanguageDialog
。然后我在OnInitdialog()
中调用了loadLanguage()
。然后,我的应用程序中的所有对话框都将从CLanguageDialog
派生,而不是CDialog
void CLanguageDialog::loadLanguage()
{
CWnd *pChild = this->FindWindowEx(this->m_hWnd, NULL, NULL, NULL);
while(pChild)
{
theApp.languageLoader.loadStringForWnd(pChild);
pChild = pChild->GetNextWindow();
}
}