Re[7]: Обратиться из одного дилога к другому. HELP...
От: visual_wind  
Дата: 12.01.05 07:51
Оценка:
Здравствуйте, 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а чище.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.