asf2mkvDlg.h
上传用户: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. // asf2mkvDlg.h : header file
  22. //
  23. #pragma once
  24. #include <afxole.h>
  25. #define WM_OPENURL WM_APP
  26. class CUrlDropTarget : public COleDropTarget
  27. {
  28. public:
  29. CUrlDropTarget() {}
  30. DROPEFFECT OnDragEnter(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
  31. DROPEFFECT OnDragOver(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
  32. BOOL OnDrop(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point);
  33. DROPEFFECT OnDropEx(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropDefault, DROPEFFECT dropList, CPoint point);
  34. void OnDragLeave(CWnd* pWnd);
  35. DROPEFFECT OnDragScroll(CWnd* pWnd, DWORD dwKeyState, CPoint point);
  36. DECLARE_MESSAGE_MAP()
  37. };
  38. // Casf2mkvDlg dialog
  39. class Casf2mkvDlg : public CResizableDialog
  40. {
  41. CComPtr<IGraphBuilder> pGB;
  42. CComQIPtr<IMediaControl> pMC;
  43. CComQIPtr<IMediaEventEx> pME;
  44. CComQIPtr<IMediaSeeking> pMS;
  45. CComQIPtr<IVideoWindow> pVW;
  46. CComQIPtr<IBasicVideo> pBV;
  47. bool m_fRecording;
  48. CString m_dst;
  49. class CRecentFileAndURLList : public CRecentFileList
  50. {
  51. public:
  52. CRecentFileAndURLList(UINT nStart, LPCTSTR lpszSection,
  53. LPCTSTR lpszEntryFormat, int nSize,
  54. int nMaxDispLen = AFX_ABBREV_FILENAME_LEN);
  55. virtual void Add(LPCTSTR lpszPathName); // we have to override CRecentFileList::Add because the original version can't handle URLs
  56. };
  57. CRecentFileAndURLList m_mru;
  58. void SetupCombo();
  59. void SetVideoRect();
  60. CUrlDropTarget m_urlDropTarget;
  61. // Construction
  62. public:
  63. Casf2mkvDlg(CWnd* pParent = NULL); // standard constructor
  64. // Dialog Data
  65. enum { IDD = IDD_ASF2MKV_DIALOG };
  66. protected:
  67. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  68. // Implementation
  69. protected:
  70. HICON m_hIcon;
  71. CComboBox m_combo;
  72. CStatic m_video;
  73. // Generated message map functions
  74. virtual BOOL OnInitDialog();
  75. virtual BOOL DestroyWindow();
  76. DECLARE_MESSAGE_MAP()
  77. public:
  78. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  79. afx_msg void OnPaint();
  80. afx_msg HCURSOR OnQueryDragIcon();
  81. afx_msg LRESULT OnGraphNotify(WPARAM wParam, LPARAM lParam);
  82. afx_msg void OnRecord();
  83. afx_msg void OnUpdateRecord(CCmdUI* pCmdUI);
  84. afx_msg void OnUpdateFileName(CCmdUI* pCmdUI);
  85. afx_msg void OnUpdateSettings(CCmdUI* pCmdUI);
  86. afx_msg void OnSize(UINT nType, int cx, int cy);
  87. afx_msg void OnTimer(UINT nIDEvent);
  88. afx_msg void OnBnClickedButton2();
  89. afx_msg LRESULT OnUrlOpen(WPARAM wParam, LPARAM lParam);
  90. };