Winapi 如何本地化win32对话框?

Winapi 如何本地化win32对话框?,winapi,localization,dialog,Winapi,Localization,Dialog,我正在使用各种控件(如静态文本、复选框等)处理Win32对话框,所有字符串都需要针对不同语言进行本地化。 我为我们国际设计了对话。但当我放置本地化字符串时,这些字符串不合适,我必须更改每个intl的布局 有更好的方法吗 我是否可以创建一个对话框,其中一个布局应适用于所有Intsl???我记得在MS的GUI资源初始布局期间,他们最初使用德语创建对话框,然后再次检查至少使用英语和日语的布局 一旦对话框布局适应了这三种语言,它通常不需要进一步的布局更改 你可以考虑使用。如果你能解决将数据输入和输出对话

我正在使用各种控件(如静态文本、复选框等)处理Win32对话框,所有字符串都需要针对不同语言进行本地化。 我为我们国际设计了对话。但当我放置本地化字符串时,这些字符串不合适,我必须更改每个intl的布局

有更好的方法吗


我是否可以创建一个对话框,其中一个布局应适用于所有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();
    }
}