xref: /MusicPlayer2/MusicPlayer2/OptionsDlg.cpp (revision 5d218daa998acd8802af1969f0c1b470571a2cb5)
1f5eefe2fSzhongyang219 // OptionsDlg.cpp : ʵ���ļ�
2f5eefe2fSzhongyang219 //
3f5eefe2fSzhongyang219 
4f5eefe2fSzhongyang219 #include "stdafx.h"
5f5eefe2fSzhongyang219 #include "MusicPlayer2.h"
6f5eefe2fSzhongyang219 #include "OptionsDlg.h"
7f5eefe2fSzhongyang219 #include "afxdialogex.h"
8f5eefe2fSzhongyang219 
9f5eefe2fSzhongyang219 
10f5eefe2fSzhongyang219 // COptionsDlg �Ի���
11f5eefe2fSzhongyang219 
12f5eefe2fSzhongyang219 IMPLEMENT_DYNAMIC(COptionsDlg, CDialog)
13f5eefe2fSzhongyang219 
14f5eefe2fSzhongyang219 COptionsDlg::COptionsDlg(CWnd* pParent /*=NULL*/)
15f5eefe2fSzhongyang219 	: CDialog(IDD_OPTIONS_DIALOG, pParent)
16f5eefe2fSzhongyang219 {
17f5eefe2fSzhongyang219 
18f5eefe2fSzhongyang219 }
19f5eefe2fSzhongyang219 
20f5eefe2fSzhongyang219 COptionsDlg::~COptionsDlg()
21f5eefe2fSzhongyang219 {
22f5eefe2fSzhongyang219 }
23f5eefe2fSzhongyang219 
24f5eefe2fSzhongyang219 void COptionsDlg::DoDataExchange(CDataExchange* pDX)
25f5eefe2fSzhongyang219 {
26f5eefe2fSzhongyang219 	CDialog::DoDataExchange(pDX);
27f5eefe2fSzhongyang219 	DDX_Control(pDX, IDC_OPTIONS_TAB, m_tab);
28f5eefe2fSzhongyang219 }
29f5eefe2fSzhongyang219 
30f5eefe2fSzhongyang219 
31f5eefe2fSzhongyang219 BEGIN_MESSAGE_MAP(COptionsDlg, CDialog)
32f5eefe2fSzhongyang219 	ON_NOTIFY(TCN_SELCHANGE, IDC_OPTIONS_TAB, &COptionsDlg::OnTcnSelchangeOptionsTab)
33*5d218daaSZhong Yang 	ON_BN_CLICKED(IDC_APPLY_BUTTON, &COptionsDlg::OnBnClickedApplyButton)
34f5eefe2fSzhongyang219 END_MESSAGE_MAP()
35f5eefe2fSzhongyang219 
36f5eefe2fSzhongyang219 
37f5eefe2fSzhongyang219 // COptionsDlg ��Ϣ�������
38f5eefe2fSzhongyang219 
39f5eefe2fSzhongyang219 
40f5eefe2fSzhongyang219 BOOL COptionsDlg::OnInitDialog()
41f5eefe2fSzhongyang219 {
42f5eefe2fSzhongyang219 	CDialog::OnInitDialog();
43f5eefe2fSzhongyang219 
44f5eefe2fSzhongyang219 	// TODO:  �ڴ���Ӷ���ij�ʼ��
45f5eefe2fSzhongyang219 	//�����ǩ
46f5eefe2fSzhongyang219 	m_tab.InsertItem(0, _T("����ѡ��"));
47f5eefe2fSzhongyang219 	m_tab.InsertItem(1, _T("�������"));
48a1c48a10SZhong Yang 	m_tab.InsertItem(2, _T("��������"));
49f5eefe2fSzhongyang219 	//�����ӶԻ���
50f5eefe2fSzhongyang219 	m_tab1_dlg.Create(IDD_PLAY_SETTING_DIALOG, &m_tab);
51f5eefe2fSzhongyang219 	m_tab2_dlg.Create(IDD_APPEREANCE_SETTING_DLG, &m_tab);
52f5eefe2fSzhongyang219 	m_tab3_dlg.Create(IDD_DATA_SETTINGS_DIALOG, &m_tab);
53f5eefe2fSzhongyang219 	//�����ӶԻ���Ĵ�С��λ��
54f5eefe2fSzhongyang219 	CRect rect;
55f5eefe2fSzhongyang219 	m_tab.GetClientRect(rect);
56f5eefe2fSzhongyang219 	CRect rcTabItem;
57f5eefe2fSzhongyang219 	m_tab.GetItemRect(0, rcTabItem);
58f5eefe2fSzhongyang219 	rect.top += rcTabItem.Height() + 4;
59f5eefe2fSzhongyang219 	rect.left += 4;
60f5eefe2fSzhongyang219 	rect.bottom -= 4;
61f5eefe2fSzhongyang219 	rect.right -= 4;
62f5eefe2fSzhongyang219 	m_tab1_dlg.MoveWindow(&rect);
63f5eefe2fSzhongyang219 	m_tab2_dlg.MoveWindow(&rect);
64f5eefe2fSzhongyang219 	m_tab3_dlg.MoveWindow(&rect);
65f5eefe2fSzhongyang219 
66f5eefe2fSzhongyang219 	switch (m_tab_selected)
67f5eefe2fSzhongyang219 	{
68f5eefe2fSzhongyang219 	case 1:
69f5eefe2fSzhongyang219 		m_tab2_dlg.ShowWindow(SW_SHOW);
70f5eefe2fSzhongyang219 		m_tab.SetCurFocus(1);
71f5eefe2fSzhongyang219 		break;
72f5eefe2fSzhongyang219 	case 2:
73f5eefe2fSzhongyang219 		m_tab3_dlg.ShowWindow(SW_SHOW);
74f5eefe2fSzhongyang219 		m_tab.SetCurFocus(2);
75f5eefe2fSzhongyang219 		break;
76f5eefe2fSzhongyang219 	default:
77f5eefe2fSzhongyang219 		m_tab1_dlg.ShowWindow(SW_SHOW);
78f5eefe2fSzhongyang219 		m_tab.SetCurFocus(0);
79f5eefe2fSzhongyang219 	}
80f5eefe2fSzhongyang219 	return TRUE;  // return TRUE unless you set the focus to a control
81f5eefe2fSzhongyang219 				  // �쳣: OCX ����ҳӦ���� FALSE
82f5eefe2fSzhongyang219 }
83f5eefe2fSzhongyang219 
84f5eefe2fSzhongyang219 
85f5eefe2fSzhongyang219 void COptionsDlg::OnTcnSelchangeOptionsTab(NMHDR *pNMHDR, LRESULT *pResult)
86f5eefe2fSzhongyang219 {
87f5eefe2fSzhongyang219 	// TODO: �ڴ���ӿؼ�֪ͨ����������
88f5eefe2fSzhongyang219 	m_tab_selected = m_tab.GetCurSel();
89f5eefe2fSzhongyang219 	switch (m_tab_selected)
90f5eefe2fSzhongyang219 	{
91f5eefe2fSzhongyang219 	case 0:
92f5eefe2fSzhongyang219 		m_tab1_dlg.ShowWindow(SW_SHOW);
93f5eefe2fSzhongyang219 		m_tab2_dlg.ShowWindow(SW_HIDE);
94f5eefe2fSzhongyang219 		m_tab3_dlg.ShowWindow(SW_HIDE);
95f5eefe2fSzhongyang219 		m_tab1_dlg.SetFocus();
96f5eefe2fSzhongyang219 		break;
97f5eefe2fSzhongyang219 	case 1:
98f5eefe2fSzhongyang219 		m_tab2_dlg.ShowWindow(SW_SHOW);
99f5eefe2fSzhongyang219 		m_tab1_dlg.ShowWindow(SW_HIDE);
100f5eefe2fSzhongyang219 		m_tab3_dlg.ShowWindow(SW_HIDE);
101f5eefe2fSzhongyang219 		m_tab2_dlg.SetFocus();
102f5eefe2fSzhongyang219 		break;
103f5eefe2fSzhongyang219 	case 2:
104f5eefe2fSzhongyang219 		m_tab3_dlg.ShowWindow(SW_SHOW);
105f5eefe2fSzhongyang219 		m_tab1_dlg.ShowWindow(SW_HIDE);
106f5eefe2fSzhongyang219 		m_tab2_dlg.ShowWindow(SW_HIDE);
107f5eefe2fSzhongyang219 		m_tab3_dlg.SetFocus();
108f5eefe2fSzhongyang219 		break;
109f5eefe2fSzhongyang219 	}
110f5eefe2fSzhongyang219 	*pResult = 0;
111f5eefe2fSzhongyang219 }
112f5eefe2fSzhongyang219 
113575ff337SZhong Yang 
114575ff337SZhong Yang 
115575ff337SZhong Yang void COptionsDlg::OnOK()
116575ff337SZhong Yang {
117575ff337SZhong Yang 	// TODO: �ڴ����ר�ô����/����û���
118575ff337SZhong Yang 	m_tab2_dlg.OnOK();
119575ff337SZhong Yang 
120575ff337SZhong Yang 	CDialog::OnOK();
121575ff337SZhong Yang }
122*5d218daaSZhong Yang 
123*5d218daaSZhong Yang 
124*5d218daaSZhong Yang void COptionsDlg::OnBnClickedApplyButton()
125*5d218daaSZhong Yang {
126*5d218daaSZhong Yang 	// TODO: �ڴ���ӿؼ�֪ͨ����������
127*5d218daaSZhong Yang 	::SendMessage(theApp.m_pMainWnd->GetSafeHwnd(), WM_SETTINGS_APPLIED, (WPARAM)this, 0);
128*5d218daaSZhong Yang }
129