qidao123.com技术社区-IT企服评测·应用市场

标题: 【上位机——MFC】对话框 [打印本页]

作者: 大号在练葵花宝典    时间: 2025-5-10 23:02
标题: 【上位机——MFC】对话框
对话框的使用

1.添加对话框资源
2.界说一个自己的对话框类(CMyDlg),管理对话框资源,派生自CDialog或CDialogEx均可
对话框架构

  1. #include <afxwin.h>
  2. #include "resource.h"
  3. class CMyDlg :public CDialog {
  4.         DECLARE_MESSAGE_MAP()
  5. public:
  6.         afx_msg void OnIdok();
  7.         afx_msg void OnIdcancel();
  8. };
  9. BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
  10.        
  11.         ON_COMMAND(IDOK, &CMyDlg::OnIdok)
  12.         ON_COMMAND(IDCANCEL, &CMyDlg::OnIdcancel)
  13. END_MESSAGE_MAP()
  14. class CMyWinApp : public CWinApp {
  15. public :
  16.         virtual BOOL InitInstance();
  17. };
  18. BOOL CMyWinApp::InitInstance() {
  19.         CMyDlg* pdlg = new CMyDlg;
  20.         pdlg->Create(IDD_DIALOG1);
  21.         m_pMainWnd = pdlg;
  22.         pdlg->ShowWindow(SW_SHOW);
  23.         return TRUE;
  24. }
  25. CMyWinApp theApp;
  26. void CMyDlg::OnIdok()
  27. {
  28.         // TODO: 在此添加命令处理程序代码
  29.         //CDialog::OnOK();//将对话框隐藏,并没有消失
  30.         ::DestroyWindow(this->m_hWnd);
  31. }
  32. void CMyDlg::OnIdcancel()
  33. {
  34.         // TODO: 在此添加命令处理程序代码
  35.         DestroyWindow();
  36. }
复制代码
模态对话框

  1. #include <afxwin.h>
  2. #include "resource.h"
  3. class CMyDlg:public CDialog {
  4. public:
  5.         enum{IDD=IDD_DIALOG1};
  6.         CMyDlg():CDialog(IDD) {
  7.         }
  8. };
  9. class CMyWinApp:public CWinApp {
  10. public:
  11.         virtual BOOL InitInstance();
  12. };
  13. BOOL CMyWinApp::InitInstance() {
  14.         CMyDlg dlg;
  15.         m_pMainWnd = &dlg;
  16.         dlg.DoModal();
  17.         return TRUE;
  18. }
  19. CMyWinApp theApp;
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4