结合上一篇MessageBox()
高级用法MessageBoxEx()
int WINAPI MessageBoxEx(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType,
_In_ WORD wLanguageId
);
最后一个参数的意思就是我们需要用函数MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),来生成最后一个参数。它的定义为
WORD MAKELANGID(
USHORT usPrimaryLanguage,
USHORT usSubLanguage
);
比如
MessageBoxEx(NULL,L"English",L"",MB_OKCANCEL,MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
修改系统定义Dialog的默认按钮文字只需要在创建Dialog前加上一句:
SetThreadUILanguage(MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT));