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

多媒体编程

开发平台:

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. // 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. , m_mpegdecoder(pFG)
  32. , m_audiodecoder(pFG)
  33. {
  34. AddPage(&m_player);
  35. AddPage(&m_formats);
  36. AddPage(&m_acceltbl);
  37. AddPage(&m_logo);
  38. AddPage(&m_playback);
  39. AddPage(&m_dvd);
  40. // AddPage(&m_realmediaquicktime);
  41. AddPage(&m_output);
  42. AddPage(&m_webserver);
  43. AddPage(&m_filters);
  44. AddPage(&m_audioswitcher);
  45. AddPage(&m_audiodecoder);
  46. AddPage(&m_mpegdecoder);
  47. AddPage(&m_overrides);
  48. AddPage(&m_subtitles);
  49. AddPage(&m_substyle);
  50. AddPage(&m_subdb);
  51. AddPage(&m_tweaks);
  52. EnableStackedTabs(FALSE);
  53. SetTreeViewMode(TRUE, TRUE, FALSE);
  54. if(idPage || (idPage = AfxGetApp()->GetProfileInt(ResStr(IDS_R_SETTINGS), _T("LastUsedPage"), 0)))
  55. {
  56. for(int i = 0; i < GetPageCount(); i++)
  57. {
  58. if(GetPage(i)->m_pPSP->pszTemplate == MAKEINTRESOURCE(idPage))
  59. {
  60. SetActivePage(i);
  61. break;
  62. }
  63. }
  64. }
  65. }
  66. CPPageSheet::~CPPageSheet()
  67. {
  68. }
  69. CTreeCtrl* CPPageSheet::CreatePageTreeObject()
  70. {
  71. return new CTreePropSheetTreeCtrl();
  72. }
  73. BEGIN_MESSAGE_MAP(CPPageSheet, CTreePropSheet)
  74. END_MESSAGE_MAP()
  75. BOOL CPPageSheet::OnInitDialog()
  76. {
  77. BOOL bResult = __super::OnInitDialog();
  78. if(CTreeCtrl* pTree = GetPageTreeControl())
  79. {
  80. for(HTREEITEM node = pTree->GetRootItem(); node; node = pTree->GetNextSiblingItem(node))
  81. pTree->Expand(node, TVE_EXPAND);
  82. }
  83. return bResult;
  84. }
  85. // CTreePropSheetTreeCtrl
  86. IMPLEMENT_DYNAMIC(CTreePropSheetTreeCtrl, CTreeCtrl)
  87. CTreePropSheetTreeCtrl::CTreePropSheetTreeCtrl()
  88. {
  89. }
  90. CTreePropSheetTreeCtrl::~CTreePropSheetTreeCtrl()
  91. {
  92. }
  93. BEGIN_MESSAGE_MAP(CTreePropSheetTreeCtrl, CTreeCtrl)
  94. END_MESSAGE_MAP()
  95. // CTreePropSheetTreeCtrl message handlers
  96. BOOL CTreePropSheetTreeCtrl::PreCreateWindow(CREATESTRUCT& cs)
  97. {
  98. cs.dwExStyle |= WS_EX_CLIENTEDGE;
  99. // cs.style &= ~TVS_LINESATROOT;
  100. return __super::PreCreateWindow(cs);
  101. }