Вобщем потребовалось мне прикрутить меню стандартное к диалогу(это то которое "File->open... etc")
Я написал подобное(DiffDlg это мой класс наследованный от CDialog)
DiffDlg mainDlg;
this->m_pMainWnd = &mainDlg;
CMenu mainMenu;
mainMenu.LoadMenu(IDR_MENU1);
mainDlg.SetMenu(&mainMenu);
mainDlg.DoModal();
при запуске программа брякается по Assertion Fault
вот в этом месте
AFXWIN_INLINE BOOL CWnd::SetMenu(CMenu* pMenu)
{ ASSERT(::IsWindow(m_hWnd)); return ::SetMenu(m_hWnd, pMenu->GetSafeHmenu()); }
то есть я с удивлением обнаружил что диалог не является окном, поэтому и не может иметь меню,
как альтернативно можно к нему прикрутить меню?
Исправлено форматирование текста. — SchweinDeBurg
Здравствуйте, tt_andrey, Вы писали:
_>Вобщем потребовалось мне прикрутить меню стандартное к диалогу(это то которое "File->open... etc")
_>Я написал подобное(DiffDlg это мой класс наследованный от CDialog)
class CDialog : public CWnd
Попробуйте строчки
_> CMenu mainMenu;
_> mainMenu.LoadMenu(IDR_MENU1);
_> mainDlg.SetMenu(&mainMenu);
_> mainDlg.DoModal();
перенести в OnInitDialog():
BOOL DiffDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
MyMenu.LoadMenu(IDR_MENU1);
SetMenu(&MyMenu);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}