void CMyApp::OnAppAbout()和void CMainFrame::OnAppAbout()有和区别?
我添加了一个对话框资源,加了类CDlg与之对应,在MainFrame.cpp里:
void CMainFrame::OnAppAbout()
{
CDlg aboutDlg;
aboutDlg.DoModal();
}
注:OnAppAbout是框架菜单的“打开关于对话框”项。 运行后可以打开我的对话框来代替原来的关于对话框”。但是如果我在CMyApp中的
void CMyApp::OnAppAbout()下将CAppAbout换为CDlg为什么不会显示我的对话框?
而还原为CAppAbout就能显示“关于对话框”?
感谢各位解答,先谢,分不够再加。
我添加了一个对话框资源,加了类CDlg与之对应,在MainFrame.cpp里:
void CMainFrame::OnAppAbout()
{
CDlg aboutDlg;
aboutDlg.DoModal();
}
注:OnAppAbout是框架菜单的“打开关于对话框”项。 运行后可以打开我的对话框来代替原来的关于对话框”。但是如果我在CMyApp中的
void CMyApp::OnAppAbout()下将CAppAbout换为CDlg为什么不会显示我的对话框?
而还原为CAppAbout就能显示“关于对话框”?
感谢各位解答,先谢,分不够再加。
在cdlg.h中加#include<resource.h>
然后在CMyApp中:
void CRrApp::OnAppAbout()
{
// CAboutDlg aboutDlg;
// aboutDlg.DoModal();
cdlg dlg;
dlg.DoModal();
}
对话框可以显示.
哈~
BOOL CEx02aApp::InitInstance()
{
.....
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow(); return TRUE;
}
mfc的消息->CDocument->CView->CMainFrame->CWinapp
如果有类捕获了该消息,那么此消息将不会传入下一个类你这里CMainFrame已经捕获了ID_ABOUT因此CWinapp就不能捕获该消息了.弹出了About对话框是因为CMainFrame::OnAppAbout()函数在起作用