![]() |
Есть приложение написанное на чистом апи без всяких компонентов. В обработчике события WM_COMMAND нажатия на кнопку делаю новый тред:
Код:
CreateThread(nil, 0, @SomeProc, 0, 0, id); |
Кажись понял в чем трабл. Сообщения то доходят, просто окно теряет фокус и WM_KEYDOWN не срабатывает. Дело в том, что я пишу 2Д движок на директе и как раз процедура этого дочернего процесса - есть цикл перерисовок, и как вернуть фокус окну я без понятия. SetFocus не помогает. :(
|
Честно говоря, я не понял в чём проблема, но решить её можно кардинально:
Лучше перерисовку оставить в том же потоке который владеет окном. Это уменьшит необходимость синхронизации. А все вычисления, которым пофигу до перерисовки, перенести в независимый поток. |
Время: 18:58. |
Время: 18:58.
© OSzone.net 2001-