EDIT:
Question is reduced and optimized in response to community's comments. The deleted part of the question will be posted as separate question.
QUESTION:
Is there any WM_SOMETHING
or NM_SOMETHING
message in Win32 API
that can inform me about user changing the locale
?
You see, I could use that message/notification to change my program's locale
to the current locale
.
Something like this pseudo-code:
case WM_SOMETHING: // in my main window procedure
_wsetlocale( LC_ALL, L"" );
Also, if there is such message, and I process it as in the pseudo-code above, will it adjust only main window's locale
or will it also set locale
for child dialog boxes and controls?.
MY EFFORTS TO SOLVE THIS:
After browsing through Internet, the only thing I found was WM_INPUTLANGCHANGE
, WM_SETTINGCHANGE
and WM_INPUTLANGCHANGEREQUEST
messages, but I have never used them and do not know if they can solve my problem.
Thank you.
Best regards.
Windows sends a
WM_SETTINGCHANGE
message, with thewParam
set to0
, and thelParam
set to a character string containing the valueintl
. This is described in the documentation forWM_SETTINGCHANGE
under the Parameters section:Your application will need to respond to the message and make any necessary changes yourself in child dialogs and controls.