AppIPTransformView.cpp
上传用户:hhs829
上传日期:2022-06-17
资源大小:586k
文件大小:3k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. // AppIPTransformView.cpp : implementation of the CAppIPTransformView class
  2. //
  3. #include "stdafx.h"
  4. #include "AppIPTransform.h"
  5. #include "AppIPTransformDoc.h"
  6. #include "AppIPTransformView.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CAppIPTransformView
  14. IMPLEMENT_DYNCREATE(CAppIPTransformView, CView)
  15. BEGIN_MESSAGE_MAP(CAppIPTransformView, CView)
  16. //{{AFX_MSG_MAP(CAppIPTransformView)
  17. ON_COMMAND(IDM_PLAY, OnPlay)
  18. ON_WM_SIZE()
  19. //}}AFX_MSG_MAP
  20. END_MESSAGE_MAP()
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CAppIPTransformView construction/destruction
  23. CAppIPTransformView::CAppIPTransformView()
  24. {
  25. // TODO: add construction code here
  26. }
  27. CAppIPTransformView::~CAppIPTransformView()
  28. {
  29. }
  30. BOOL CAppIPTransformView::PreCreateWindow(CREATESTRUCT& cs)
  31. {
  32. // TODO: Modify the Window class or styles here by modifying
  33. //  the CREATESTRUCT cs
  34. return CView::PreCreateWindow(cs);
  35. }
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CAppIPTransformView drawing
  38. void CAppIPTransformView::OnDraw(CDC* pDC)
  39. {
  40. CAppIPTransformDoc* pDoc = GetDocument();
  41. ASSERT_VALID(pDoc);
  42. // TODO: add draw code for native data here
  43. }
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CAppIPTransformView diagnostics
  46. #ifdef _DEBUG
  47. void CAppIPTransformView::AssertValid() const
  48. {
  49. CView::AssertValid();
  50. }
  51. void CAppIPTransformView::Dump(CDumpContext& dc) const
  52. {
  53. CView::Dump(dc);
  54. }
  55. CAppIPTransformDoc* CAppIPTransformView::GetDocument() // non-debug version is inline
  56. {
  57. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CAppIPTransformDoc)));
  58. return (CAppIPTransformDoc*)m_pDocument;
  59. }
  60. #endif //_DEBUG
  61. /////////////////////////////////////////////////////////////////////////////
  62. // CAppIPTransformView message handlers
  63. void CAppIPTransformView::OnPlay() 
  64. {
  65. CString    strFilter = "AVI File (*.avi)|*.avi|";
  66. strFilter += "MPEG File (*.mpg;*.mpeg)|*.mpg;*.mpeg|";
  67. strFilter += "All Files (*.*)|*.*|";
  68. CFileDialog dlgOpen(TRUE, NULL, NULL, OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, 
  69. strFilter, this);
  70. if (IDOK != dlgOpen.DoModal()) 
  71. {
  72. return;
  73. }
  74.     WCHAR wchFile[MAX_PATH];
  75.     MultiByteToWideChar(CP_ACP, 0, dlgOpen.GetPathName(), -1, wchFile, MAX_PATH);
  76.     m_Graph.BuildFromFile(wchFile);
  77.     m_Graph.MakeChild(GetSafeHwnd());
  78.     m_Graph.Run();
  79. }
  80. void CAppIPTransformView::OnSize(UINT nType, int cx, int cy) 
  81. {
  82.     CView::OnSize(nType, cx, cy);
  83.     RECT rc;
  84.     GetClientRect(&rc);
  85.     m_Graph.ResizeVideoWindow(&rc);
  86. }