Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC контроллы и потоки / 2 сообщений из 2, страница 1 из 1
02.06.2016, 07:34
    #39248600
295
295
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC контроллы и потоки
Здравствуйте,

Существует примерно такой код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class CMainWnd : public CFrameWnd
{
...
   std::vector<CustomControl*> customControlsList;
...
};

unsigned int CreateControlThread(void *args)
{
   CMainWnd *wnd = (CMainWnd*)(args);
   CustomControl *newControl = new CustomControl(wnd /*as parent window*/);
   wnd->customControlsList.push_back(newControl);
   return 0;
}



Надо сделать обработку сообщений созданного контрола. В потоке, который его создает, это не получится сделать, так-как он используется только для создания.
Есть ли возможность приататчить созданный контрол к циклу обработки сообщений основного окна?
...
Рейтинг: 0 / 0
02.06.2016, 08:35
    #39248621
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC контроллы и потоки
295,
0)
Код: plaintext
1.
unsigned int CreateControlThread(void *args)


Где вызывается эта функция ? это функция потока нового ?

1)
Код: plaintext
1.
wnd->customControlsList.push_back(newControl);



Если это всё вызывается из другого потока, отличного от главного потока приложения, то доступ к customControlsList нужно синхронизировать.

2) авторНадо сделать обработку сообщений созданного контрола. В потоке, который его создает, это не получится сделать, так-как он используется только для создания.


Кто мешает использовать этот поток не только для создания окна ? Запускать поток только для того, чтобы создать окно очень странно. Как и вообще работать с окнами в разных потоках.

3) авторЕсть ли возможность приататчить созданный контрол к циклу обработки сообщений основного окна?
Каждое окно связано с потоком, который его создаёт. Когда окну приходит сообщение, оно приходит в очередь обработки сообщений того потока, с которым это окно связано. На сколько я помню, это никак не меняется.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC контроллы и потоки / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]