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) 325d218daaSZhong Yang ON_BN_CLICKED(IDC_APPLY_BUTTON, &COptionsDlg::OnBnClickedApplyButton) 33b26f7c9eSZhong Yang ON_WM_DESTROY() 34f5eefe2fSzhongyang219 END_MESSAGE_MAP() 35f5eefe2fSzhongyang219 36f5eefe2fSzhongyang219 37f5eefe2fSzhongyang219 // COptionsDlg ��Ϣ������� 38f5eefe2fSzhongyang219 39f5eefe2fSzhongyang219 40f5eefe2fSzhongyang219 BOOL COptionsDlg::OnInitDialog() 41f5eefe2fSzhongyang219 { 42f5eefe2fSzhongyang219 CDialog::OnInitDialog(); 43f5eefe2fSzhongyang219 44f5eefe2fSzhongyang219 // TODO: �ڴ���Ӷ���ij�ʼ�� 45f5eefe2fSzhongyang219 46bb1ccb84SZhong Yang //�����ӶԻ��� 47bb1ccb84SZhong Yang m_tab1_dlg.Create(IDD_LYRIC_SETTING_DIALOG); 48bb1ccb84SZhong Yang m_tab2_dlg.Create(IDD_APPEREANCE_SETTING_DLG); 49bb1ccb84SZhong Yang m_tab3_dlg.Create(IDD_DATA_SETTINGS_DIALOG); 50bb1ccb84SZhong Yang m_tab4_dlg.Create(IDD_PLAY_SETTING_DIALOG); 519afaa4f1SZhong Yang m_tab5_dlg.Create(IDD_HOT_KEY_SETTINGS_DIALOG); 52bb1ccb84SZhong Yang 53*3cbff0c7SZhong Yang //�����ӶԻ��� 54*3cbff0c7SZhong Yang std::vector<CTabDlg*> tab_vect; 55*3cbff0c7SZhong Yang tab_vect.push_back(&m_tab1_dlg); 56*3cbff0c7SZhong Yang tab_vect.push_back(&m_tab2_dlg); 57*3cbff0c7SZhong Yang tab_vect.push_back(&m_tab3_dlg); 58*3cbff0c7SZhong Yang tab_vect.push_back(&m_tab4_dlg); 59*3cbff0c7SZhong Yang tab_vect.push_back(&m_tab5_dlg); 60*3cbff0c7SZhong Yang 61*3cbff0c7SZhong Yang //��ȡ�ӶԻ���ij�ʼ�߶� 62*3cbff0c7SZhong Yang std::vector<int> tab_height; 63*3cbff0c7SZhong Yang for (const auto* pDlg : tab_vect) 64*3cbff0c7SZhong Yang { 65*3cbff0c7SZhong Yang CRect rect; 66*3cbff0c7SZhong Yang pDlg->GetWindowRect(rect); 67*3cbff0c7SZhong Yang tab_height.push_back(rect.Height()); 68*3cbff0c7SZhong Yang } 69*3cbff0c7SZhong Yang 70bb1ccb84SZhong Yang //��ӶԻ��� 71d9d0c25bSZhong Yang m_tab.AddWindow(&m_tab1_dlg, CCommon::LoadText(IDS_LYRIC_SETTINGS)); 72d9d0c25bSZhong Yang m_tab.AddWindow(&m_tab2_dlg, CCommon::LoadText(IDS_APPEARANCE_SETTINGS)); 73d9d0c25bSZhong Yang m_tab.AddWindow(&m_tab3_dlg, CCommon::LoadText(IDS_GENERAL_SETTINGS)); 74d9d0c25bSZhong Yang m_tab.AddWindow(&m_tab4_dlg, CCommon::LoadText(IDS_PLAY_SETTINGS)); 75d9d0c25bSZhong Yang m_tab.AddWindow(&m_tab5_dlg, CCommon::LoadText(IDS_GLOBLE_HOTKEY)); 76bb1ccb84SZhong Yang 77*3cbff0c7SZhong Yang //Ϊÿ���Ӵ������ù�����Ϣ 78*3cbff0c7SZhong Yang for (size_t i = 0; i < tab_vect.size(); i++) 79*3cbff0c7SZhong Yang { 80*3cbff0c7SZhong Yang tab_vect[i]->SetScrollbarInfo(m_tab.m_tab_rect.Height(), tab_height[i]); 81*3cbff0c7SZhong Yang } 82*3cbff0c7SZhong Yang 83bb1ccb84SZhong Yang m_tab.SetCurTab(m_tab_selected); 84bb1ccb84SZhong Yang 85f5eefe2fSzhongyang219 return TRUE; // return TRUE unless you set the focus to a control 86f5eefe2fSzhongyang219 // �쳣: OCX ����ҳӦ���� FALSE 87f5eefe2fSzhongyang219 } 88f5eefe2fSzhongyang219 89575ff337SZhong Yang void COptionsDlg::OnOK() 90575ff337SZhong Yang { 91575ff337SZhong Yang // TODO: �ڴ����ר�ô����/����û��� 92575ff337SZhong Yang m_tab2_dlg.OnOK(); 93d9d0c25bSZhong Yang m_tab3_dlg.OnOK(); 94575ff337SZhong Yang 95575ff337SZhong Yang CDialog::OnOK(); 96575ff337SZhong Yang } 975d218daaSZhong Yang 985d218daaSZhong Yang 995d218daaSZhong Yang void COptionsDlg::OnBnClickedApplyButton() 1005d218daaSZhong Yang { 1015d218daaSZhong Yang // TODO: �ڴ���ӿؼ�֪ͨ���������� 1025d218daaSZhong Yang ::SendMessage(theApp.m_pMainWnd->GetSafeHwnd(), WM_SETTINGS_APPLIED, (WPARAM)this, 0); 1035d218daaSZhong Yang } 104b26f7c9eSZhong Yang 105b26f7c9eSZhong Yang 106b26f7c9eSZhong Yang void COptionsDlg::OnDestroy() 107b26f7c9eSZhong Yang { 108b26f7c9eSZhong Yang CDialog::OnDestroy(); 109b26f7c9eSZhong Yang 110b26f7c9eSZhong Yang // TODO: �ڴ˴������Ϣ���������� 111b26f7c9eSZhong Yang m_tab_selected = m_tab.GetCurSel(); 112b26f7c9eSZhong Yang } 113