Доступ к объекту C*View из C*App
Собственно интересует ещё один вопрос: как получить указатель на объект класса представления (текущее активное окно), когда управляет программой в данный момент другой класс, например класс приложения. У меня в классе приложения обрабатываются нажатия кнопок на панели инструментов... И нужно чтобы, например, перерисовалось окно класса представления в момент нажатия определённой кнопки, ну и кроме этого ещё выполнить действия над объектом класса предствдения. Заранее благодарен!
CView *MyGetActiveView()
{
CFrameWnd *pFrame = static_cast<CFrameWnd *>( AfxGetMainWnd() );
ASSERT(pFrame);
if( pFrame == NULL )
return NULL;
pFrame = pFrame->GetActiveFrame();
ASSERT(pFrame);
if( pFrame == NULL )
return NULL;
return pFrame->GetActiveView();
}
и обращаться к ней:
CMyView *pView = static_cast<CMyView *>( MyGetActiveView() );
ASSERT(pView);
if( pView == NULL )
{
//обработать ошибку
}
pView->MySpecialMethod();