Проблема (динамическое переключение языка) решается с помощью ActivateKeyboardLayout , но она все еще остается, когда я динамически создаю компонент в форме (например, TEdit).Когда этот компонент попадает в фокус, язык меняется на значение по умолчанию.Я попытался использовать снова ActivateKeyboardLayout, после создания компонентов, но это не сработало.Есть идеи?
сначала вы должны использовать «Windows», затем вы можете использовать этот метод: ActivateKeyboardLayout (EnglishLayoutHandle, KLF_ACTIVATE) Вы можете изменить "EnglishLayoutHandle" для любого языка, который вы хотите
Ваша проблема может быть похожа на этот вопрос .
В противном случае этот код делает это:
keybd_event(VK_MENU, 0, 0, 0); keybd_event(VK_SHIFT, 0, 0, 0); keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0 ); keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);