Удалено избыточное цитирование. — SchweinDeBurg
Здравствуйте, Sashaka, Вы писали:
S>ты UpdateData может не вызываешь _для_ CDialogB ?
Обрати внимание что ты создаешь диалоги на основе CTabDlg. То есть на сколько я понимаю у тебя есть
class CSashakaDialog::public CDialog{
....
}
где то еще у тебя есть
class CTabDlg::public CDialog{
}
И в CSashakaDialog::OnInitDialog ты
{
CDialog::OnInitDialog();
for (int i=0; i<DLG_COUNT; i++)
{
m_pTab[i]=new CTabDlg(IDD_DIALOG1+i);
m_pTab[i]->Create(IDD_DIALOG1+i);
m_pTab[i]->MoveWindow(TAB_POS_X,TAB_POS_Y,m_pTab[i]->m_nWidth,m_pTab[i]->m_nHeight,true);
}
m_pTab[m_nSel]->ShowWindow(SW_SHOW);
Да это быдет работать так как DDX у тебя в CTabDlg.
Я же парюсь не с этим:
Пусть у тебя нет CTabDlg. А есть просто CDialog.
Смотри:
class CDialogA:public CDialog (свой шаблон)
class CDialogB:public CDialogA (устанвливает в конструкоре дополнительный шаблон (в переменную член класса CDialogA)
то есть это один и тот же объект CDialog
На CDialogA::OnInitDialog
Должно нужно создать Child Dialog на основе указанного шаблона и заставить сообщения приходить В CDialogB (что есть одно и тоже при наследовании CDialogA).
Они доходят так как Child создан у меня на основе просто CDialog.
Каким то оброзом надо мой Child заставить сначала посылать сообщения в CDialogB (CDialogA). и если CDialogB не обработает их то нужно возвращать обработку в Child. Вот.