1 // MessageDlg.cpp: 实现文件
2 //
3
4 #include "stdafx.h"
5 #include "MusicPlayer2.h"
6 #include "MessageDlg.h"
7
8
9 // CMessageDlg 对话框
10
11 #define MESSAGE_DLG_ICON_SIZE (theApp.DPI(32))
12
IMPLEMENT_DYNAMIC(CMessageDlg,CBaseDialog)13 IMPLEMENT_DYNAMIC(CMessageDlg, CBaseDialog)
14
15 CMessageDlg::CMessageDlg(const wstring& dialog_name, CWnd* pParent)
16 : CBaseDialog(IDD_MESSAGE_DIALOG, pParent)
17 {
18 ASSERT(!dialog_name.empty());
19 m_dialog_name = dialog_name;
20 }
21
~CMessageDlg()22 CMessageDlg::~CMessageDlg()
23 {
24 }
25
InitializeControls()26 bool CMessageDlg::InitializeControls()
27 {
28 SetWindowTextW(m_title.c_str());
29 SetDlgItemTextW(IDC_INFO_STATIC, m_info.c_str());
30 SetDlgItemTextW(IDC_HELP_EDIT, m_message.c_str());
31 SetDlgItemTextW(IDC_SYSLINK1, (L"<a>" + m_link_text + L"</a>").c_str());
32
33 RepositionTextBasedControls({
34 { CtrlTextInfo::L1, IDC_SYSLINK1, CtrlTextInfo::W_50 },
35 { CtrlTextInfo::R1, IDOK, CtrlTextInfo::W32 }
36 });
37 return true;
38 }
39
DoDataExchange(CDataExchange * pDX)40 void CMessageDlg::DoDataExchange(CDataExchange* pDX)
41 {
42 CBaseDialog::DoDataExchange(pDX);
43 }
44
45
BEGIN_MESSAGE_MAP(CMessageDlg,CBaseDialog)46 BEGIN_MESSAGE_MAP(CMessageDlg, CBaseDialog)
47 ON_NOTIFY(NM_CLICK, IDC_SYSLINK1, &CMessageDlg::OnNMClickSyslink1)
48 END_MESSAGE_MAP()
49
50
51 // CMessageDlg 消息处理程序
52
53
54 BOOL CMessageDlg::OnInitDialog()
55 {
56 CBaseDialog::OnInitDialog();
57
58 // TODO: 在此添加额外的初始化
59 SetIcon(IconMgr::IconType::IT_App, FALSE); // 设置小图标
60
61 ShowDlgCtrl(IDC_SYSLINK1, !m_link_text.empty());
62
63 CWnd* pWnd = GetDlgItem(IDOK);
64 if (pWnd != nullptr)
65 pWnd->SetFocus();
66
67 return FALSE; // return TRUE unless you set the focus to a control
68 // 异常: OCX 属性页应返回 FALSE
69 }
70
OnNMClickSyslink1(NMHDR * pNMHDR,LRESULT * pResult)71 void CMessageDlg::OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult)
72 {
73 // TODO: 在此添加控件通知处理程序代码
74 if(!m_link_url.empty())
75 ShellExecute(NULL, _T("open"), m_link_url.c_str(), NULL, NULL, SW_SHOW); //打开超链接
76
77 *pResult = 0;
78 }
79