thread + dialog
От: orion9  
Дата: 21.04.02 06:01
Оценка:
Есть проект на основе диалогового окна.
По кнопочке создаю новый поток
Вот такой
UINT ThreadFunction(LPVOID pParam)
{
    CThreadDlg dlg;
    dlg.Create(CThreadDlg::IDD);
    dlg.ShowWindow(SW_SHOW);
    dlg.m_TextOut1 = "Text on Line One";
    dlg.UpdateData(FALSE);
//...
}

Диалог в этом потоке рисуется поверх основного диалога и доступ к основному диалогу не возможен пока не закончится поток.

Мне нужно в новом потоке сделать диалог и в него выводить.

Что я делаю не правильно?
Re: thread + dialog
От: mitq Россия  
Дата: 21.04.02 07:13
Оценка:
Здравствуйте orion9, Вы писали:

[...]

Запускаешь поиск со строкой запроса типа "Немодальный диалог", и смотришь, что получается. Искать за тебя, уж извини, не хочется.
Re: thread + dialog
От: Dutchman Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.04.02 12:09
Оценка:
Здравствуйте orion9, Вы писали:

O>Есть проект на основе диалогового окна.

O>По кнопочке создаю новый поток
O>Вот такой
O>
O>UINT ThreadFunction(LPVOID pParam)
O>{
O>    CThreadDlg dlg;
O>    dlg.Create(CThreadDlg::IDD);
O>    dlg.ShowWindow(SW_SHOW);
O>    dlg.m_TextOut1 = "Text on Line One";
O>    dlg.UpdateData(FALSE);
O>//...
O>}
O>

O>Диалог в этом потоке рисуется поверх основного диалога и доступ к основному диалогу не возможен пока не закончится поток.

Нужно делать поток чз наследованный от CWinThread, если в нем создаются оконные объекты. Это потому что сразу очереди сообщений не будет. Ты создаешь обычный — вызывай тогда DoModal вместо Create. DoModal запускает цикл выборки сообщений.

Ты и не рассказал толком, что у тебя происходит.
Как создаешь и тд. Что конкретно ты пытаешься делать с диалогами ?
И какой диалог не доступен ?

Если что, свисти...
Re[2]: thread + dialog
От: orion9  
Дата: 24.04.02 01:53
Оценка:
Есть поток (в виде функции), мне нужно в этом потоке сделать окошко(диалог) и в него выводить статистику работы данного потока. По окончании потока окошко закрыть. Сколько запущено потоков столько окошек.
Как это сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.