Конференция "WinAPI" » WM_INPUTLANGCHANGEREQUEST приходит ДВАЖДЫ!!!
 
  • =BuckLr= © (18.01.08 17:36) [0]
    Привет. Есть проблема. Использую длл (плагин), одна из функций которой создаёт поток и форму в этом потоке. Форма рисуется на форме хост приложения. На этой форме я заметил что  раскладка не переключается. Я поставил showmessage на WM_INPUTLANGCHANGEREQUEST и обнаружил, что сие уведомление приходит дважды! Один раз при нажатии ctrl-shift, второй раз - при отпускании. Скажите, в чём может быть дело, или почему в принципе такое может происходить? И ещё один момент. Если выключить "Дополнительные текстовые службы" в "языках и рег стандартах", то всё нормально. Т.е. уведомление приходит как ему и положено, один раз.
    Упреждаю некоторые вопросы: форма и поток - особенности реализации (тупой и совсем не моей), так что тут никак иначе...
  • Сергей М. © (19.01.08 14:02) [1]

    >  поток и форму в этом потоке


    >  Форма рисуется на форме хост приложения


    Т.е. ты утверждеешь, что непосредственно перед

    SomePluginForm := TSomePluginForm.Create(...)

    условие

    MainThreadId <> GetCurrentThreadId

    истинно ?

    И при этом вся эта петрушка с доп.потоками и VCL-формами в них успешно работает ?

    "Не верю !" (с) К.С.С
  • =BuckLr= © (20.01.08 10:58) [2]
    Да, но формы не всл-ные... Да, действительно работает, и без косяков. Кроме вот этого. Впрочем, ладно. Решил вопрос по-другому.

    Не смейтесь - специфика задачи такова, что без потока будет ещё хуже :) Это не моя система, она тупая, не спорю. Но не я же писал хост-программу...
  • Сергей М. © (20.01.08 19:40) [3]

    > Да, но формы не всл-ные


    А в ShowMessage, по-твоему, тоже нет VCL-форм ?
    Блажен кто верует)
 
Конференция "WinAPI" » WM_INPUTLANGCHANGEREQUEST приходит ДВАЖДЫ!!!
Есть новые Нет новых   [134431   +15][b:0][p:0]