PPageTweaks.cpp
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:4k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /* 
  2.  * Copyright (C) 2003-2005 Gabest
  3.  * http://www.gabest.org
  4.  *
  5.  *  This Program is free software; you can redistribute it and/or modify
  6.  *  it under the terms of the GNU General Public License as published by
  7.  *  the Free Software Foundation; either version 2, or (at your option)
  8.  *  any later version.
  9.  *   
  10.  *  This Program is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13.  *  GNU General Public License for more details.
  14.  *   
  15.  *  You should have received a copy of the GNU General Public License
  16.  *  along with GNU Make; see the file COPYING.  If not, write to
  17.  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
  18.  *  http://www.gnu.org/copyleft/gpl.html
  19.  *
  20.  */
  21. // PPageTweaks.cpp : implementation file
  22. //
  23. #include "stdafx.h"
  24. #include "mplayerc.h"
  25. #include "PPageTweaks.h"
  26. // CPPageTweaks dialog
  27. IMPLEMENT_DYNAMIC(CPPageTweaks, CPPageBase)
  28. CPPageTweaks::CPPageTweaks()
  29. : CPPageBase(CPPageTweaks::IDD, CPPageTweaks::IDD)
  30. , m_fDisabeXPToolbars(FALSE)
  31. , m_fUseWMASFReader(FALSE)
  32. , m_nJumpDistS(0)
  33. , m_nJumpDistM(0)
  34. , m_nJumpDistL(0)
  35. , m_fFreeWindowResizing(TRUE)
  36. , m_fNotifyMSN(TRUE)
  37. {
  38. m_fWMASFReader = SUCCEEDED(CComPtr<IBaseFilter>().CoCreateInstance(
  39. GUIDFromCString(_T("{187463A0-5BB7-11D3-ACBE-0080C75E246E}")))); // WM ASF Reader
  40. }
  41. CPPageTweaks::~CPPageTweaks()
  42. {
  43. }
  44. void CPPageTweaks::DoDataExchange(CDataExchange* pDX)
  45. {
  46. __super::DoDataExchange(pDX);
  47. DDX_Check(pDX, IDC_CHECK3, m_fDisabeXPToolbars);
  48. DDX_Control(pDX, IDC_CHECK3, m_fDisabeXPToolbarsCtrl);
  49. DDX_Check(pDX, IDC_CHECK2, m_fUseWMASFReader);
  50. DDX_Control(pDX, IDC_CHECK2, m_fUseWMASFReaderCtrl);
  51. DDX_Text(pDX, IDC_EDIT1, m_nJumpDistS);
  52. DDX_Text(pDX, IDC_EDIT2, m_nJumpDistM);
  53. DDX_Text(pDX, IDC_EDIT3, m_nJumpDistL);
  54. DDX_Check(pDX, IDC_CHECK1, m_fFreeWindowResizing);
  55. DDX_Check(pDX, IDC_CHECK4, m_fNotifyMSN);
  56. }
  57. BOOL CPPageTweaks::OnInitDialog()
  58. {
  59. __super::OnInitDialog();
  60. AppSettings& s = AfxGetAppSettings();
  61. m_fDisabeXPToolbars = s.fDisabeXPToolbars;
  62. m_fUseWMASFReader = s.fUseWMASFReader;
  63. m_nJumpDistS = s.nJumpDistS;
  64. m_nJumpDistM = s.nJumpDistM;
  65. m_nJumpDistL = s.nJumpDistL;
  66. m_fFreeWindowResizing = s.fFreeWindowResizing;
  67. m_fNotifyMSN = s.fNotifyMSN;
  68. UpdateData(FALSE);
  69. return TRUE;  // return TRUE unless you set the focus to a control
  70. // EXCEPTION: OCX Property Pages should return FALSE
  71. }
  72. BOOL CPPageTweaks::OnApply()
  73. {
  74. UpdateData();
  75. AppSettings& s = AfxGetAppSettings();
  76. s.fDisabeXPToolbars = !!m_fDisabeXPToolbars;
  77. s.fUseWMASFReader = !!m_fUseWMASFReader;
  78. s.nJumpDistS = m_nJumpDistS;
  79. s.nJumpDistM = m_nJumpDistM;
  80. s.nJumpDistL = m_nJumpDistL;
  81. s.fFreeWindowResizing = m_fFreeWindowResizing;
  82. s.fNotifyMSN = m_fNotifyMSN;
  83. return __super::OnApply();
  84. }
  85. BEGIN_MESSAGE_MAP(CPPageTweaks, CPPageBase)
  86. ON_UPDATE_COMMAND_UI(IDC_CHECK3, OnUpdateCheck3)
  87. ON_UPDATE_COMMAND_UI(IDC_CHECK2, OnUpdateCheck2)
  88. ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
  89. END_MESSAGE_MAP()
  90. // CPPageTweaks message handlers
  91. void CPPageTweaks::OnUpdateCheck3(CCmdUI* pCmdUI)
  92. {
  93. if(!AfxGetAppSettings().fXpOrBetter)
  94. {
  95. pCmdUI->Enable(FALSE);
  96. pCmdUI->SetCheck(TRUE);
  97. }
  98. }
  99. void CPPageTweaks::OnUpdateCheck2(CCmdUI* pCmdUI)
  100. {
  101. pCmdUI->Enable(m_fWMASFReader);
  102. }
  103. void CPPageTweaks::OnBnClickedButton1()
  104. {
  105. m_nJumpDistS = 1000;
  106. m_nJumpDistM = 5000;
  107. m_nJumpDistL = 20000;
  108. UpdateData(FALSE);
  109. }