PPageSheet.cpp
上传用户:tangyu_668
上传日期:2014-02-27
资源大小:678k
文件大小:3k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /* 
  2.  * Copyright (C) 2003-2006 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. // PPageSheet.cpp : implementation file
  22. //
  23. #include "stdafx.h"
  24. #include "mplayerc.h"
  25. #include "PPageSheet.h"
  26. // CPPageSheet
  27. IMPLEMENT_DYNAMIC(CPPageSheet, CTreePropSheet)
  28. CPPageSheet::CPPageSheet(LPCTSTR pszCaption, IFilterGraph* pFG, CWnd* pParentWnd, UINT idPage)
  29. : CTreePropSheet(pszCaption, pParentWnd, 0)
  30. , m_audioswitcher(pFG)
  31. {
  32. AddPage(&m_player);
  33. AddPage(&m_formats);
  34. AddPage(&m_acceltbl);
  35. AddPage(&m_logo);
  36. AddPage(&m_playback);
  37. AddPage(&m_dvd);
  38. AddPage(&m_output);
  39. AddPage(&m_webserver);
  40. AddPage(&m_internalfilters);
  41. AddPage(&m_audioswitcher);
  42. AddPage(&m_externalfilters);
  43. AddPage(&m_subtitles);
  44. AddPage(&m_substyle);
  45. AddPage(&m_subdb);
  46. AddPage(&m_tweaks);
  47. EnableStackedTabs(FALSE);
  48. SetTreeViewMode(TRUE, TRUE, FALSE);
  49. if(idPage || (idPage = AfxGetApp()->GetProfileInt(ResStr(IDS_R_SETTINGS), _T("LastUsedPage"), 0)))
  50. {
  51. for(int i = 0; i < GetPageCount(); i++)
  52. {
  53. if(GetPage(i)->m_pPSP->pszTemplate == MAKEINTRESOURCE(idPage))
  54. {
  55. SetActivePage(i);
  56. break;
  57. }
  58. }
  59. }
  60. }
  61. CPPageSheet::~CPPageSheet()
  62. {
  63. }
  64. CTreeCtrl* CPPageSheet::CreatePageTreeObject()
  65. {
  66. return new CTreePropSheetTreeCtrl();
  67. }
  68. BEGIN_MESSAGE_MAP(CPPageSheet, CTreePropSheet)
  69. END_MESSAGE_MAP()
  70. BOOL CPPageSheet::OnInitDialog()
  71. {
  72. BOOL bResult = __super::OnInitDialog();
  73. if(CTreeCtrl* pTree = GetPageTreeControl())
  74. {
  75. for(HTREEITEM node = pTree->GetRootItem(); node; node = pTree->GetNextSiblingItem(node))
  76. pTree->Expand(node, TVE_EXPAND);
  77. }
  78. return bResult;
  79. }
  80. // CTreePropSheetTreeCtrl
  81. IMPLEMENT_DYNAMIC(CTreePropSheetTreeCtrl, CTreeCtrl)
  82. CTreePropSheetTreeCtrl::CTreePropSheetTreeCtrl()
  83. {
  84. }
  85. CTreePropSheetTreeCtrl::~CTreePropSheetTreeCtrl()
  86. {
  87. }
  88. BEGIN_MESSAGE_MAP(CTreePropSheetTreeCtrl, CTreeCtrl)
  89. END_MESSAGE_MAP()
  90. // CTreePropSheetTreeCtrl message handlers
  91. BOOL CTreePropSheetTreeCtrl::PreCreateWindow(CREATESTRUCT& cs)
  92. {
  93. cs.dwExStyle |= WS_EX_CLIENTEDGE;
  94. // cs.style &= ~TVS_LINESATROOT;
  95. return __super::PreCreateWindow(cs);
  96. }