Здравствуйте, AstroMan, Вы писали:
TD>>Что значит перекрыть? Каким образом можно это сделать?
AM>AM>BOOL CMyMainFrame::OnCreateClient(LPCREATESTRUCT lpCreateStruct, CCreateContext*)
AM>{
AM> // не вызываем CMDIFrameWnd::OnCreateClient!!!
AM> return CreateClient(lpCreateStruct, NULL);
AM>}
AM>
Я так сделал и действительно приложение запустило еще один фрейм в отдельном потоке, только вот проблема осталось: при тыке мышью на любой документ приложение падает, а падает оно на функциях проверки
CDocument::AssertValid();
//эту функция в свою очередь вызывает проверку у вида документа
void CView::AssertValid() const
{//а тут вызывется функция
CWnd::AssertValid();//здесь собственно все и падает!!!
}
Приложение отображает документы в одном виде, условно назову его шаблон 1 (CDocTemplate).
Дело в том что в отдельном потоке с отдельным фреймом необходимо отображать документы с другим видом, а это значит что надо использовать другой шаблон, условно назову его шаблон 2, который в свою очередь я попытался привязать к классу CPreviewApp (наследнику от CWinThread), но че-то видимо не особо получилось. При работе в отдельном потоке приложение все равно обращается и использует шаблон 1 привязаннный к основному классу приложения CWinApp. По моему в этом и заключается проблема.
Как можно привязать другой шаблон для использования в отдельном потоке? и к какому классу его надо привязывать?