16ff78c2aSlrisora // MessageDlg.cpp: 实现文件
202c1871dSZhong Yang //
302c1871dSZhong Yang
402c1871dSZhong Yang #include "stdafx.h"
502c1871dSZhong Yang #include "MusicPlayer2.h"
602c1871dSZhong Yang #include "MessageDlg.h"
702c1871dSZhong Yang
802c1871dSZhong Yang
9877f5f92SZhongYang // CMessageDlg 对话框
1002c1871dSZhong Yang
11920c7b35SZhong Yang #define MESSAGE_DLG_ICON_SIZE (theApp.DPI(32))
12920c7b35SZhong Yang
IMPLEMENT_DYNAMIC(CMessageDlg,CBaseDialog)136ff78c2aSlrisora IMPLEMENT_DYNAMIC(CMessageDlg, CBaseDialog)
1402c1871dSZhong Yang
156ff78c2aSlrisora CMessageDlg::CMessageDlg(const wstring& dialog_name, CWnd* pParent)
166ff78c2aSlrisora : CBaseDialog(IDD_MESSAGE_DIALOG, pParent)
1702c1871dSZhong Yang {
186ff78c2aSlrisora ASSERT(!dialog_name.empty());
196ff78c2aSlrisora m_dialog_name = dialog_name;
2002c1871dSZhong Yang }
2102c1871dSZhong Yang
~CMessageDlg()2202c1871dSZhong Yang CMessageDlg::~CMessageDlg()
2302c1871dSZhong Yang {
2402c1871dSZhong Yang }
2502c1871dSZhong Yang
InitializeControls()266ff78c2aSlrisora bool CMessageDlg::InitializeControls()
2772336cc8Szhongyang {
286ff78c2aSlrisora SetWindowTextW(m_title.c_str());
296ff78c2aSlrisora SetDlgItemTextW(IDC_INFO_STATIC, m_info.c_str());
306ff78c2aSlrisora SetDlgItemTextW(IDC_HELP_EDIT, m_message.c_str());
317de8be75Slrisora SetDlgItemTextW(IDC_SYSLINK1, (L"<a>" + m_link_text + L"</a>").c_str());
3272336cc8Szhongyang
336ff78c2aSlrisora RepositionTextBasedControls({
347de8be75Slrisora { CtrlTextInfo::L1, IDC_SYSLINK1, CtrlTextInfo::W_50 },
356ff78c2aSlrisora { CtrlTextInfo::R1, IDOK, CtrlTextInfo::W32 }
366ff78c2aSlrisora });
376ff78c2aSlrisora return true;
38920c7b35SZhong Yang }
39920c7b35SZhong Yang
DoDataExchange(CDataExchange * pDX)4002c1871dSZhong Yang void CMessageDlg::DoDataExchange(CDataExchange* pDX)
4102c1871dSZhong Yang {
426ff78c2aSlrisora CBaseDialog::DoDataExchange(pDX);
4302c1871dSZhong Yang }
4402c1871dSZhong Yang
4502c1871dSZhong Yang
BEGIN_MESSAGE_MAP(CMessageDlg,CBaseDialog)466ff78c2aSlrisora BEGIN_MESSAGE_MAP(CMessageDlg, CBaseDialog)
473bbfe614SZhong Yang ON_NOTIFY(NM_CLICK, IDC_SYSLINK1, &CMessageDlg::OnNMClickSyslink1)
4802c1871dSZhong Yang END_MESSAGE_MAP()
4902c1871dSZhong Yang
5002c1871dSZhong Yang
51877f5f92SZhongYang // CMessageDlg 消息处理程序
5202c1871dSZhong Yang
5302c1871dSZhong Yang
5402c1871dSZhong Yang BOOL CMessageDlg::OnInitDialog()
5502c1871dSZhong Yang {
566ff78c2aSlrisora CBaseDialog::OnInitDialog();
5702c1871dSZhong Yang
58877f5f92SZhongYang // TODO: 在此添加额外的初始化
59*a87de172Slrisora SetIcon(IconMgr::IconType::IT_App, FALSE); // 设置小图标
6002c1871dSZhong Yang
616ff78c2aSlrisora ShowDlgCtrl(IDC_SYSLINK1, !m_link_text.empty());
62920c7b35SZhong Yang
637de8be75Slrisora CWnd* pWnd = GetDlgItem(IDOK);
647de8be75Slrisora if (pWnd != nullptr)
657de8be75Slrisora pWnd->SetFocus();
667de8be75Slrisora
677de8be75Slrisora return FALSE; // return TRUE unless you set the focus to a control
68877f5f92SZhongYang // 异常: OCX 属性页应返回 FALSE
6902c1871dSZhong Yang }
7002c1871dSZhong Yang
OnNMClickSyslink1(NMHDR * pNMHDR,LRESULT * pResult)713bbfe614SZhong Yang void CMessageDlg::OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult)
723bbfe614SZhong Yang {
73877f5f92SZhongYang // TODO: 在此添加控件通知处理程序代码
746ff78c2aSlrisora if(!m_link_url.empty())
756ff78c2aSlrisora ShellExecute(NULL, _T("open"), m_link_url.c_str(), NULL, NULL, SW_SHOW); //打开超链接
763bbfe614SZhong Yang
773bbfe614SZhong Yang *pResult = 0;
783bbfe614SZhong Yang }
79