Здравствуйте, napalum, Вы писали:
N>мда...так сразу мне не разобрать то что Вы мне написали...надо головку поломать чуток...
N>все-таки не отказался бы от иходника...
N>может тогда на примере...
N>вот создал чистое приложение,и дописал
N>---------------------------------
N>del13Dlg.h:
N>дописал: #include "About.h"
N>class Cdel13Dlg : public CDialog
N>{
N>// Construction
N>public:
N> Cdel13Dlg(CWnd* pParent = NULL); // standard constructor
N>дописал:CAbout m_dlg;
N>---------------------------------
N>del13Dlg.cpp:
N>void Cdel13Dlg::OnBnClickedOk()
N>{
N>дописал: m_dlg.DoModal;
N>}
N>Модальное оно не всплывает...m_dlg ссылается на нулевой хендл...(вообщем то, то что это все не работает логично Ж) )
N>так что еще надо дописать чтоб работало?
1. Послушайте совета SchweinDeBurgа, и попробуйте сделать, как он сказал. Получить доступ к ЭЛЕМЕНТАМ УПРАВЛЕНИЯ МОДАЛЬНОГО диалога достаточно затруднительно из места, где создался модальный диалог. Лучше сделать наоборот, из модального диалога доступаться в то место, откуда создан модальный диалог. То место — это CFirstDialog в примере SchweinDeBurgа ( Cdel13Dlg в Вашем случае ). А CSecondDialog Вам надо будет создать самому и добавить в него конструктор
CSecondDiaog(CFirstDialog* pFirstDlg, UINT uResID, CWnd* pParentWnd = NULL);
в котором передается указатель но то самое место.
SchweinDeBurg описал Вам все, что нужно добавить в Ваш второй диалог, чтобы он заработал.
2. В принципе, учитывая, что у Вас dialog-based приложение, Вы можете всегда доступиться к окну главного (первого) диалога через AfxGetMainWnd() и сделать повышающее преобразование типа, однако способ SchweinDeBurgа чище.