Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] дык я же говорю - используй AfxGetApp() 13.08.02 01:29 Число просмотров: 1129
Автор: beetle <beetle> Статус: Member Отредактировано 13.08.02 01:40 Количество правок: 1
|
Dialog base project содержит только две заготовки по дефолту:
CYourNameApp - стандартный класс каркаса приложения
CYourNameDlg - непосредственно клас диалога
для получения указателя на екземпляр класса приложения из класса диалога CYourNameDlg делается след:
CYourNameApp* pApp = AfxGetApp();
и юзай себе все, что душе угодно и где угодно
для доступа к объекту диалога следует:
создать в классе CYourNameApp атрибут-указатель на класс твоего диалога
и потом проинициализировать его непосредственно при создании диалога - в функции InitInstanse:
OOL CPhMngrApp::InitInstance()
{
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CPhMngrDlg dlg;//вот тут и инициализируй свой поинтер на диалог
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}
|
|
|