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