【上位机——MFC】对话框
对话框的使用
1.添加对话框资源
2.定义一个自己的对话框类(CMyDlg),管理对话框资源,派生自CDialog或CDialogEx均可
对话框架构
#include <afxwin.h>
#include "resource.h"class CMyDlg :public CDialog {DECLARE_MESSAGE_MAP()
public:afx_msg void OnIdok();afx_msg void OnIdcancel();
};
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)ON_COMMAND(IDOK, &CMyDlg::OnIdok)ON_COMMAND(IDCANCEL, &CMyDlg::OnIdcancel)
END_MESSAGE_MAP()class CMyWinApp : public CWinApp {
public :virtual BOOL InitInstance();
};BOOL CMyWinApp::InitInstance() {CMyDlg* pdlg = new CMyDlg;pdlg->Create(IDD_DIALOG1);m_pMainWnd = pdlg;pdlg->ShowWindow(SW_SHOW);return TRUE;
}CMyWinApp theApp;
void CMyDlg::OnIdok()
{// TODO: 在此添加命令处理程序代码//CDialog::OnOK();//将对话框隐藏,并没有消失::DestroyWindow(this->m_hWnd);
}void CMyDlg::OnIdcancel()
{// TODO: 在此添加命令处理程序代码DestroyWindow();
}
模态对话框
#include <afxwin.h>
#include "resource.h"class CMyDlg:public CDialog {public:enum{IDD=IDD_DIALOG1};CMyDlg():CDialog(IDD) {}
};class CMyWinApp:public CWinApp {public:virtual BOOL InitInstance();};BOOL CMyWinApp::InitInstance() {CMyDlg dlg;m_pMainWnd = &dlg;dlg.DoModal();return TRUE;
}CMyWinApp theApp;