2

I have MUI C++ application that uses InitMUILanguage() and SetProcessPreferredUILanguages() for change UI language in system controls and dialogues.

All work fine, all common controls use UI language that has been set by InitMUILanguage(). Except MessageBox(). It completely ignores settings from InitMUILanguage() and shows buttons' text on system default language!

How to fix it?

23W
  • 1,413
  • 18
  • 37
  • 3
    You cant "fix" it. That is simply how `MessageBox` works. There is `MessageBoxEx` with a `wLanguageId` parameter, but MS never hooked it up. – Remy Lebeau Oct 06 '17 at 17:38
  • What do you mean by "never hooked it by"? I used to MessageBoxEx with correct LangID and it had taken LangID into account. I thought MessageBox will work with InitMUILanguage too. – 23W Oct 07 '17 at 17:13
  • 2
    `InitMUILanguage` sets the language for the common controls library. This is clearly stated in its documentation. `MessageBox` is not part of the common controls library – Remy Lebeau Oct 07 '17 at 17:29

0 Answers0