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