xref: /MusicPlayer2/MusicPlayer2/MessageDlg.cpp (revision ed4a559c3ee49bf03b919e20bf10573dada4b52f)
1 // HelpDlg.cpp : 实现文件
2 //
3 
4 #include "stdafx.h"
5 #include "MusicPlayer2.h"
6 #include "MessageDlg.h"
7 
8 
9 // CMessageDlg 对话框
10 
11 IMPLEMENT_DYNAMIC(CMessageDlg, CDialog)
12 
13 CMessageDlg::CMessageDlg(CWnd* pParent /*=NULL*/)
14 	: CDialog(IDD_MESSAGE_DIALOG, pParent)
15 {
16 
17 }
18 
19 CMessageDlg::~CMessageDlg()
20 {
21 }
22 
23 void CMessageDlg::SetWindowTitle(LPCTSTR str)
24 {
25 	m_title = str;
26 }
27 
28 void CMessageDlg::SetInfoText(LPCTSTR str)
29 {
30 	m_info = str;
31 }
32 
33 void CMessageDlg::SetMessageText(LPCTSTR str)
34 {
35 	m_message = str;
36 }
37 
38 void CMessageDlg::SetLinkInfo(LPCTSTR text, LPCTSTR url)
39 {
40 	m_link_text = text;
41 	m_link_url = url;
42 }
43 
44 void CMessageDlg::DoDataExchange(CDataExchange* pDX)
45 {
46 	CDialog::DoDataExchange(pDX);
47 	DDX_Control(pDX, IDC_HELP_EDIT, m_message_edit);
48 	DDX_Control(pDX, IDC_INFO_STATIC, m_info_static);
49 }
50 
51 
52 BEGIN_MESSAGE_MAP(CMessageDlg, CDialog)
53 	ON_WM_GETMINMAXINFO()
54 	ON_NOTIFY(NM_CLICK, IDC_SYSLINK1, &CMessageDlg::OnNMClickSyslink1)
55 END_MESSAGE_MAP()
56 
57 
58 // CMessageDlg 消息处理程序
59 
60 
61 BOOL CMessageDlg::OnInitDialog()
62 {
63 	CDialog::OnInitDialog();
64 
65 	// TODO:  在此添加额外的初始化
66 
67 	SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME), FALSE);		// 设置小图标
68 
69 	//获取初始时窗口的大小
70 	CRect rect;
71 	GetWindowRect(rect);
72 	m_min_size.cx = rect.Width();
73 	m_min_size.cy = rect.Height();
74 
75 	SetWindowText(m_title);
76 	m_info_static.SetWindowText(m_info);
77 	m_message_edit.SetWindowText(m_message);
78 
79 	CWnd* pLinkCtrl = GetDlgItem(IDC_SYSLINK1);
80 	if (pLinkCtrl != nullptr)
81 	{
82 		pLinkCtrl->ShowWindow(m_show_link_ctrl);
83 		pLinkCtrl->SetWindowText(_T("<a>") + m_link_text + _T("</a>"));
84 	}
85 
86 	return TRUE;  // return TRUE unless you set the focus to a control
87 				  // 异常: OCX 属性页应返回 FALSE
88 }
89 
90 
91 void CMessageDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
92 {
93 	// TODO: 在此添加消息处理程序代码和/或调用默认值
94 	//限制窗口最小大小
95 	lpMMI->ptMinTrackSize.x = m_min_size.cx;		//设置最小宽度
96 	lpMMI->ptMinTrackSize.y = m_min_size.cy;		//设置最小高度
97 
98 	CDialog::OnGetMinMaxInfo(lpMMI);
99 }
100 
101 
102 void CMessageDlg::OnNMClickSyslink1(NMHDR *pNMHDR, LRESULT *pResult)
103 {
104 	// TODO: 在此添加控件通知处理程序代码
105 	if(!m_link_url.IsEmpty())
106 		ShellExecute(NULL, _T("open"), m_link_url, NULL, NULL, SW_SHOW);	//打开超链接
107 
108 	*pResult = 0;
109 }
110