Вывод кнопок на экран диалога из Thread
От: Vasiliy_Krasnokutsky Россия  
Дата: 14.06.02 06:57
Оценка:
Приветствую
Проблема следующая:
Есть Thread созданный с помощью AfxBeginThread
Он должен в соответствии с ситуацией выводить кнопки соответствующих цветов и размеров.
В функцию передаем указатель на мой диалог при запуске.
Пытаюсь по указателю создать кнопку. Система утверждает, что кнопка создана и у нее есть hWnd
но при этом я ее не вижу на экране (свойства ставил WS_VISIBLE и WS_CHILD).
Подскажите как с этим справиться ...
Re: Вывод кнопок на экран диалога из Thread
От: Ivan Россия www.rsdn.ru
Дата: 14.06.02 07:00
Оценка:
Здравствуйте Vasiliy_Krasnokutsky, Вы писали:

VK>но при этом я ее не вижу на экране (свойства ставил WS_VISIBLE и WS_CHILD).

VK>Подскажите как с этим справиться ...
Если ты создаешь окно в потоке ( а кнопка — это окно), то окно принадлежит этому потоку и сообщения для окна должны обрабатываться очередью сообщений этого потока. Лучше всего иметь один UI поток и несколько рабочих потоков и все окна создавать только из UI потока (того, в котором есть очередь сообщений)
Re[2]: Вывод кнопок на экран диалога из Thread
От: SergH Россия  
Дата: 14.06.02 08:27
Оценка:
Здравствуйте Ivan, Вы писали:

I>Если ты создаешь окно в потоке ( а кнопка — это окно), то окно принадлежит этому потоку и сообщения для окна должны обрабатываться очередью сообщений этого потока. Лучше всего иметь один UI поток и несколько рабочих потоков и все окна создавать только из UI потока (того, в котором есть очередь сообщений)


Для большей понятности добавлю:

Поскольку твой второй поток не обробатывает сообщения, ничего и не отрисоввывается. Можно создовать кнопки в основном потоке по какому-нибудь сообщению. А это сообщение будет посылать рабочий поток.
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.