在子对话框中检测用户区域设置的变化(控制面板 -> 时钟、语言和区域)

Detect changes in user locale setting (Control Panel -> Clock,Language and Region) in child dialog box

我在资源编辑器中制作了一个对话框,它作为主要 window 的子控件。

在正常模式下,作为弹出窗口时,对话框可以收到 WM_SETTINGCHANGE 消息,通知对话框用户更改区域设置,但作为子项似乎没有收到此消息 -> 设置后在相关代码处设置断点,调试器永远不会到达这些行。

当用户在“控制面板”中更改语言环境时,是否可以在子对话框中进行检测?

WM_SETTINGCHANGE 仅发送至 top-level windows。因此,如果您的 child window 需要了解它,请让您的 top-level window 转发它(即使用 SendMessage(hwndChild, uMsg, wParam, lParam); 或类似的)。