1 #pragma once 2 #include "BaseDialog.h" 3 4 // CMessageDlg 对话框 5 6 class CMessageDlg : public CBaseDialog 7 { 8 DECLARE_DYNAMIC(CMessageDlg) 9 10 public: 11 // 关于dialog_name参数,参考CBaseDialog::GetDialogName() 12 CMessageDlg(const wstring& dialog_name, CWnd* pParent = NULL); 13 virtual ~CMessageDlg(); 14 15 // 设置窗口大小是否保存(默认不保存) EnableSaveDlgSize()16 void EnableSaveDlgSize() { m_save_dlg_size = true; }; 17 // 设置窗口标题 SetWindowTitle(const wstring & str)18 void SetWindowTitle(const wstring& str) { m_title = str; }; 19 // 设置描述说明文本 SetInfoText(const wstring & str)20 void SetInfoText(const wstring& str) { m_info = str; }; 21 // 设置内容 SetMessageText(const wstring & str)22 void SetMessageText(const wstring& str) { m_message = str; }; 23 // 仅在设置了非空text时显示此超链接控件 SetLinkInfo(const wstring & text,const wstring & url)24 void SetLinkInfo(const wstring& text, const wstring& url) { m_link_text = text; m_link_url = url; }; 25 26 // 对话框数据 27 #ifdef AFX_DESIGN_TIME 28 enum { IDD = IDD_MESSAGE_DIALOG }; 29 #endif 30 31 protected: 32 wstring m_dialog_name{}; 33 bool m_save_dlg_size{ false }; // CMessageDlg默认不保存窗口大小 34 35 wstring m_title{}; 36 wstring m_info{}; 37 wstring m_message{}; 38 wstring m_link_text{}; 39 wstring m_link_url{}; 40 41 protected: GetDialogName()42 virtual CString GetDialogName() const override { return m_dialog_name.c_str(); } IsRememberDialogSizeEnable()43 virtual bool IsRememberDialogSizeEnable() const override { return m_save_dlg_size; }; 44 virtual bool InitializeControls() override; 45 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 46 47 DECLARE_MESSAGE_MAP() 48 public: 49 virtual BOOL OnInitDialog(); 50 afx_msg void OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult); 51 }; 52