2015-06-17 1 views
0

В MFC операция, связанная с пользовательским интерфейсом (рисовать краской), может выполняться в обработанном потоке? Моя проблема в том, что теперь основной поток занимает много времени при рисовании элементов, связанных с пользовательским интерфейсом. Но если я могу делегировать работу связанного с графическим интерфейсом пользовательского интерфейса с обработанной секцией по секциям, основной поток становится свободным, так что оставшаяся часть приложения, которая выполняется с помощью чертежа, может использоваться пользователем. Это возможно?В MFC операция, связанная с пользовательским интерфейсом (рисовать краской), может выполняться в обработанном потоке?

ответ

1

Вы должны сделать обратное. В общем случае основной поток приложений должен использоваться только для графического интерфейса, поскольку по умолчанию он имеет Windows Message Pump. Остальная работа должна выполняться в потоках.

+0

Спасибо Эндрю. Но в моем случае требование немного отличается. есть несколько окон. Поэтому, когда первая вдова выполнена с рисунком, если рабочие потоки могут сделать часть чертежа для других окон, основной поток становится свободным, и конечный пользователь может начать свое взаимодействие с первым окном, в то время как другие окна все еще находятся в состоянии загрузки. Любое решение? – GAP

+0

Нет. Рисование должно выполняться только в основном потоке. В противном случае у вас возникнут проблемы с насосом сообщений. –

+0

Спасибо, Андрей. Есть ли другой подход, который я могу выполнить для достижения моего требования? – GAP

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