根据社区的评论减少和优化问题。问题的删除部分将作为单独的问题发布。
WM_SOMETHING
中是否有NM_SOMETHING
或Win32 API
条消息可以告诉我有关用户更改locale
的消息?
您知道,我可以使用该消息/通知将我的计划locale
更改为当前locale
。< / p>
像这样的伪代码:
case WM_SOMETHING: // in my main window procedure
_wsetlocale( LC_ALL, L"" );
另外,如果有这样的消息,我按照上面的伪代码处理它,它会调整仅主窗口 locale
还是还为子对话框和控件设置locale
?。
浏览互联网后,我发现的唯一内容是WM_INPUTLANGCHANGE
,WM_SETTINGCHANGE
和WM_INPUTLANGCHANGEREQUEST
消息,但我从未使用它们,也不知道它们是否可以解决我的问题。
谢谢。
最好的问候。
答案 0 :(得分:7)
Windows发送WM_SETTINGCHANGE
消息,wParam
设置为0
,lParam
设置为包含值intl
的字符串。在参数部分的<{1}}文档中对此进行了描述:
的wParam ...
当系统通过更改区域设置发送此消息时,此参数为零。
lParam的 ...
当系统发送此消息作为区域设置更改的结果时,此参数指向字符串&#34; intl&#34;。
您的应用程序需要响应消息并在子对话框和控件中自行进行必要的更改。