Здравствуйте, Kiper, Вы писали:
K>Разница в том, что из потока нельзя напрямую доставать окна. Вы можете прямо обращаться из потока только к окну, которое его породило. А по другому, через главное род. окно, и желательно без пойнтеров (т.е. использовать HWND) и желательно PostMessage()
Хмм. А как же я могу послать сообщение классу CDocument когда в нем нету SendMessage, он не является наследником CWnd.
В ходе своих ночных размышлений пришел к нескольким вариантам:
1. Можно привязаться к таймеру, по которому идет запрос данных (Таймер системный НО, создается он именно в потоке, поэтому как то его надо обратно передать) и обновлять окна по этому таймеру. Вопрос, можно ли както "найти" хэндл таймера?
2. Достать каждый CView через хэндлы и в цикле создавая MFCшные объекты при помощи FromHandle обновлять все окна (но это у меня вчера не захотело работать

— окна не обновлялись).
К примеру (у меня окна обновляться не хотели):
POSITION pos = GetFirstViewPosition();
CWnd *pWnd;
while (pos != NULL)
{
CView* pView = GetNextView(pos);
pWnd = CWnd::FromHandle(pView->m_hWnd);
pWnd->UpdateWindow();
}
3. Написать какимлибо образом диспатчер своего сообщения в CDocument — ловить свое сообщение и выполнять действие. Тут тоже пока я не врубаюсь как послать потом это сообщение чтобы оно дошло до CDocument'а
Вобщем по всем 3м пунктам у меня нифига не вышло.