AviCap.cpp
上传用户:trilite
上传日期:2007-04-24
资源大小:261k
文件大小:2k
源码类别:

酒店行业

开发平台:

Visual C++

  1. // AviCap.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ParkSys.h"
  5. #include "AviCap.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // AviCap
  13. CAviCap::CAviCap()
  14. {
  15. }
  16. CAviCap::~CAviCap()
  17. {
  18. }
  19. BOOL CAviCap::capInit(CWnd* pParentWnd, int tx, int ty,
  20.   int bx, int by, int avi_WindowID,
  21.   int DeviceIndex)
  22. {
  23. m_hWndCap = capCreateCaptureWindow((LPSTR)"Capture Window",
  24. WS_CHILD|WS_VISIBLE,
  25. tx,ty,bx,by, 
  26.  pParentWnd->GetSafeHwnd(), avi_WindowID);
  27. capDriverConnect(m_hWndCap, DeviceIndex);
  28. capOverlay (m_hWndCap, TRUE);
  29. if (m_hWndCap == NULL)
  30. return FALSE;
  31. //设置错误处理函数
  32. capSetCallbackOnError(m_hWndCap, CAviCap::ErrorCallbackProc);
  33. return TRUE;
  34. }
  35. void CAviCap::capClose()
  36. {
  37. capOverlay(m_hWndCap, 0);
  38. capDriverDisconnect(m_hWndCap);
  39. }
  40. /////////////////////////////////////////////////////////////////////////////
  41. // AviCap message handlers
  42. // ErrorCallbackProc: error callback function 
  43. // hWnd:              capture window handle 
  44. // nErrID:            error code for the encountered error 
  45. // lpErrorText:       error text string for the encountered error 
  46. // 
  47. LRESULT CAviCap::ErrorCallbackProc(HWND hWnd, int nErrID, LPSTR lpErrorText)
  48. {
  49. if (!hWnd) 
  50.         return FALSE; 
  51.     if (nErrID == 0)            // Starting a new major function. 
  52.         return TRUE;            // Clear out old errors. 
  53.     // Show the error identifier and text. 
  54. CString strMsg;
  55. strMsg.Format("%s。错误号:%d", lpErrorText, nErrID);
  56.     AfxMessageBox(strMsg, MB_OK | MB_ICONEXCLAMATION); 
  57.     return (LRESULT) TRUE; 
  58. }