2011-01-13 2 views
0

Если я ошибаюсь, то, пожалуйста, поправьте меня, поскольку я новичок в этом. У меня есть один поток, который отображает изображение, снятое с веб-камеры, на окнах, созданных с помощью функции CreateWindowEx(). Теперь, когда я выполняю свою программу, я вижу, что мой код рисования (в WindowProc()) никогда не был достигнут (называется InvalidateRect() из дочернего потока для перерисовки), проверяется с помощью точки останова.как вызвать событие paint окна из дочерней нити

Фактически захват кадра и отображение выполняется в потоке, и я думаю, потому что его в child thread и Window находится в Main thread, поэтому его нельзя назвать событием краски.

Можете ли вы помочь мне в этом

ответ

1

Calling InvalidateRect() из дочернего потока должен сделать ваше окно перерисовать. Однако WM_PAINT - это сообщение с низким приоритетом, поэтому возможно, что окно не будет перерисовываться, если есть слишком много другой активности. Вы пробовали вставить Sleep() в поток обработки, чтобы дать картине шанс сделать это?

Смежные вопросы