Здравствуйте Willi, вы писали:
W>Здравствуйте black_igor, вы писали:
BI>>Подскажите, как достать главное окно-рамку из любого класса (например, CDialog)
W>AfxGetMainWnd()
Спасибо, но у меня это не страбатывало, т.к. эта функция фактически возвращает значение m_pMainWnd, и оно почему-то всегда NULL.
Может, конечно в InitInstance ее инициализировать, просто, думал есть какой-то другой путь.
Здравствуйте black_igor, вы писали:
BI>Здравствуйте Willi, вы писали:
W>>Здравствуйте black_igor, вы писали:
BI>>>Подскажите, как достать главное окно-рамку из любого класса (например, CDialog)
W>>AfxGetMainWnd()
BI>Спасибо, но у меня это не страбатывало, т.к. эта функция фактически возвращает значение m_pMainWnd, и оно почему-то всегда NULL. BI>Может, конечно в InitInstance ее инициализировать, просто, думал есть какой-то другой путь.
m_pMainWnd действительно нужно инициализировать в InitInstance
если ты генеришь проект визардом то код инициализации подставлет тебе визард
например
// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
единственная особенность
если ты делаешь RegularDLL с использование MFC
то в ней создается отдельный класс наследник CWinApp
у которого m_pMainWnd равен NULL
и соответсвенно AfxGetMainWnd возвращает NULL