home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 November / Chip_2002-11_cd1.bin / zkuste / vbasic / Data / Utils / WME71SDK.exe / RCDATA / CABINET / enccontrolconfig.cpp < prev    next >
C/C++ Source or Header  |  2001-03-02  |  3KB  |  100 lines

  1. // ENCControlConfig.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "enccontrol.h"
  6. #include "ENCControlConfig.h"
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // ENCControlConfig dialog
  16.  
  17.  
  18. ENCControlConfig::ENCControlConfig(CWnd* pParent /*=NULL*/)
  19.     : CDialog(ENCControlConfig::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(ENCControlConfig)
  22.         // NOTE: the ClassWizard will add member initialization here
  23.     //}}AFX_DATA_INIT
  24. }
  25.  
  26.  
  27. void ENCControlConfig::DoDataExchange(CDataExchange* pDX)
  28. {
  29.     CDialog::DoDataExchange(pDX);
  30.     //{{AFX_DATA_MAP(ENCControlConfig)
  31.     DDX_Control(pDX, IDC_PROPSHELLCTRLConfig, m_PropShellConfig);
  32.     //}}AFX_DATA_MAP
  33. }
  34.  
  35. void ENCControlConfig::SetEncoder(IWMEncoder* pEncoder)
  36. {
  37.     m_pEncoder=pEncoder;
  38.  
  39. }
  40. BEGIN_MESSAGE_MAP(ENCControlConfig, CDialog)
  41.     //{{AFX_MSG_MAP(ENCControlConfig)
  42.     //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44.  
  45. /////////////////////////////////////////////////////////////////////////////
  46. // ENCControlConfig message handlers
  47.  
  48. BOOL ENCControlConfig::OnInitDialog() 
  49. {
  50.     CDialog::OnInitDialog();
  51.     
  52.     IUnknown* pSourcesPage;
  53.     IUnknown* pDescriptionPage;
  54.     IUnknown* pAttributesPage;
  55.     IUnknown* pEncodingPage;
  56.     IUnknown* pOutputPage;
  57.  
  58.  
  59.     
  60.  
  61.     m_PropShellConfig.GetControlUnknown()->QueryInterface(IID_IMSPropShell,(void**)&pPropShell);
  62.     HRESULT hrSrc=CoCreateInstance(CLSID_WMEncSourcesAltPage,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&pSourcesPage);
  63.     HRESULT hrDesc=CoCreateInstance(CLSID_WMEncDisplayInfoPage,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&pDescriptionPage);
  64.     HRESULT hrAttr=CoCreateInstance(CLSID_WMEncAttributesPage,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&pAttributesPage);
  65.     HRESULT hrEnc=CoCreateInstance(CLSID_WMEncProfilePage,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&pEncodingPage);
  66.     HRESULT hrOut=CoCreateInstance(CLSID_WMEncOutputPage,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&pOutputPage);
  67.     
  68.     
  69.     pPropShell->AddObject(m_pEncoder);
  70.     pPropShell->AddPage(pSourcesPage);
  71.     pPropShell->AddPage(pDescriptionPage);
  72.     pPropShell->AddPage(pAttributesPage);
  73.     pPropShell->AddPage(pEncodingPage);
  74.     pPropShell->AddPage(pOutputPage);
  75.     
  76.     
  77.     pSourcesPage->Release();
  78.     pDescriptionPage->Release();
  79.     pAttributesPage->Release();
  80.     pEncodingPage->Release();
  81.     pOutputPage->Release();
  82.     
  83.     return TRUE;  // return TRUE unless you set the focus to a control
  84.                   // EXCEPTION: OCX Property Pages should return FALSE
  85. }
  86.  
  87. void ENCControlConfig::OnOK() 
  88. {
  89.     pPropShell->Apply();
  90.     m_pEncoder->PrepareToEncode(TRUE);
  91.     pPropShell->Release();
  92.     CDialog::OnOK();
  93. }
  94.  
  95. void ENCControlConfig::OnCancel() 
  96. {
  97.     pPropShell->Release();    
  98.     CDialog::OnCancel();
  99. }
  100.