SAMPLE4.C
上传用户:guoxiu1214
上传日期:2019-02-27
资源大小:876k
文件大小:4k
源码类别:

多显示器编程

开发平台:

Visual C++

  1. /*******************************************************************************
  2. Copyright Datapath Ltd. 2008.
  3. File:    SAMPLE3.C
  4. Purpose: VisionRGB-PRO and VisionRGB-X example program that shows how to display
  5.          captured RGB data within a control on a dialog.
  6. History:
  7.          16 JAN 08    SB   Created.
  8. *******************************************************************************/
  9. #include <windows.h>
  10. #include <commctrl.h>
  11. #include <rgb.h>
  12. #include <rgbapi.h>
  13. #include <rgberror.h>
  14. #include "resource.h"
  15. /* Static Constants ***********************************************************/
  16. static const TCHAR
  17.    Caption[]   = { TEXT("RGB Sample 4") };
  18. /* Global Variables ***********************************************************/
  19. static HINSTANCE  gHInstance = NULL;
  20. static HRGB       hRGB[2] = { 0, 0 };
  21. /******************************************************************************/
  22. INT_PTR CALLBACK
  23. DialogProc (
  24.    HWND     hDlg,
  25.    UINT     message,
  26.    WPARAM   wParam,
  27.    LPARAM   lParam )
  28. {
  29.    BOOL        bReturn = FALSE;
  30.    switch ( message )
  31.    {
  32.       case WM_COMMAND:
  33.       {
  34.          switch ( LOWORD ( wParam ) )
  35.          {
  36.             case IDCLOSE:
  37.             {
  38.                if ( IsWindowEnabled ( GetDlgItem ( hDlg, IDC_CAPTURE1 )))
  39.                {
  40.                   RGBSetWindow ( hRGB[0], NULL );
  41.                }
  42.                if ( hRGB[1] &&
  43.                     IsWindowEnabled ( GetDlgItem ( hDlg, IDC_CAPTURE2 )))
  44.                {
  45.                   RGBSetWindow ( hRGB[1], NULL );
  46.                }
  47.                EndDialog ( hDlg, LOWORD ( wParam ));
  48.                break;
  49.             }
  50.          }
  51.          break;
  52.       }
  53.       case WM_SYSCOMMAND:
  54.       {
  55.          switch ( wParam )
  56.          {
  57.             case SC_CLOSE:
  58.             {
  59.                if ( IsWindowEnabled ( GetDlgItem ( hDlg, IDC_CAPTURE1 )))
  60.                {
  61.                   RGBSetWindow ( hRGB[0], NULL );
  62.                }
  63.                if ( hRGB[1] &&
  64.                     IsWindowEnabled ( GetDlgItem ( hDlg, IDC_CAPTURE2 )))
  65.                {
  66.                   RGBSetWindow ( hRGB[1], NULL );
  67.                }
  68.                EndDialog ( hDlg, FALSE );
  69.                break;
  70.             }
  71.             break;
  72.          }
  73.          break;
  74.       }
  75.       case WM_INITDIALOG:
  76.       {
  77.          if ( RGBSetWindow ( hRGB[0], GetDlgItem ( hDlg, IDC_CAPTURE1 )))
  78.          {
  79.             EnableWindow ( GetDlgItem ( hDlg, IDC_CAPTURE1 ), FALSE );
  80.          }
  81.          if (( hRGB[1] == 0 ) || 
  82.              ( RGBSetWindow ( hRGB[1], GetDlgItem ( hDlg, IDC_CAPTURE2 ))))
  83.          {
  84.             EnableWindow ( GetDlgItem ( hDlg, IDC_CAPTURE2 ), FALSE );
  85.          }
  86.          bReturn = TRUE;
  87.          break;
  88.       }
  89.    }
  90.    return bReturn;
  91. }
  92. /******************************************************************************/
  93. int APIENTRY
  94. wWinMain (
  95.    HINSTANCE   hInstance,
  96.    HINSTANCE   hPrevInstance,
  97.    LPSTR       lpCmdLine,
  98.    int         nShowCmd )
  99. {
  100.    unsigned long  error;
  101.    HRGBDLL        hRGBDLL = 0;
  102.    /* Load the RGBEASY API. */
  103.    error = RGBLoad ( &hRGBDLL );
  104.    if ( error == 0 )
  105.    {
  106.       /* Open the first input. */
  107.       error = RGBOpenInput ( 0, &hRGB[0] );
  108.       if ( error == 0 )
  109.       {
  110.          RGBOpenInput ( 1, &hRGB[1] );
  111.          DialogBoxParam ( hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL,
  112.                DialogProc, ( LPARAM )hRGB );
  113.          if ( hRGB[1] )
  114.          {
  115.             RGBCloseInput ( hRGB[1] );
  116.          }
  117.          RGBCloseInput ( hRGB[0] );
  118.       }
  119.       RGBFree ( hRGBDLL );
  120.    }
  121.    return error;
  122.    UNREFERENCED_PARAMETER ( nShowCmd );
  123.    UNREFERENCED_PARAMETER ( lpCmdLine );
  124.    UNREFERENCED_PARAMETER ( hPrevInstance );
  125. }
  126. /******************************************************************************/