私はWTL GUIアプリケーションで国際化を行おうとしています..ドロップダウン選択変更ハンドラーで(言語選択に使用され、次のようなことを行います):
int selected = (int)::SendMessage(m_cbLang, CB_GETCURSEL,0,0);
HMODULE hmod;
int retCode = 0;
switch(selected)
{
case 0:
retCode =::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN, NULL, &hmod);
ATL::_AtlBaseModule.SetResourceInstance(hmod);
break;
case 1:
retCode =::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN, L"GuiLibOther.dll", &hmod);
ATL::_AtlBaseModule.SetResourceInstance(hmod);
break;
}
return S_OK;
さて、この関数の使い方が本当にわかりません。ここにありますが、 lpModuleNameが何を表しているのかわかりません。「GuiLibOther.dll」は、インターフェイス全体を別の言語で含む dll です。すべてのリソースが別の言語に翻訳されています。別の言語を選択した直後に、インターフェイスで言語を変更する必要があります。これは正しい方法ですか?ケース 0 リターン hmod = NULL