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 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 22 CMessageDlg::~CMessageDlg() 23 { 24 } 25 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 40 void CMessageDlg::DoDataExchange(CDataExchange* pDX) 41 { 42 CBaseDialog::DoDataExchange(pDX); 43 } 44 45 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 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