xref: /MusicPlayer2/MusicPlayer2/MessageDlg.h (revision 7de8be75f98f47c35eedbccd2e13f36ca81aa44b)
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