home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 July / VPR0107B.BIN / DRIVER / CANOPUS / MVR32 / mvr32.exe / data1.cab / Development_Kit / Vc / Samples / Multi / BoardInfoDlg.cpp next >
C/C++ Source or Header  |  2001-02-09  |  3KB  |  125 lines

  1. // BoardInfoDlg.cpp : インプリメンテーション ファイル
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "Multi.h"
  6. #include "BoardInfoDlg.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. // CBoardInfoDlg ダイアログ
  16.  
  17.  
  18. CBoardInfoDlg::CBoardInfoDlg(CWnd* pParent /*=NULL*/)
  19.     : CDialog(CBoardInfoDlg::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(CBoardInfoDlg)
  22.         // メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
  23.     //}}AFX_DATA_INIT
  24. }
  25.  
  26.  
  27. void CBoardInfoDlg::DoDataExchange(CDataExchange* pDX)
  28. {
  29.     CDialog::DoDataExchange(pDX);
  30.     //{{AFX_DATA_MAP(CBoardInfoDlg)
  31.     DDX_Control(pDX, IDC_LIST, m_ListCtrl);
  32.     //}}AFX_DATA_MAP
  33. }
  34.  
  35.  
  36. BEGIN_MESSAGE_MAP(CBoardInfoDlg, CDialog)
  37.     //{{AFX_MSG_MAP(CBoardInfoDlg)
  38.     //}}AFX_MSG_MAP
  39. END_MESSAGE_MAP()
  40.  
  41. /////////////////////////////////////////////////////////////////////////////
  42. // CBoardInfoDlg メッセージ ハンドラ
  43.  
  44. void CBoardInfoDlg::OnOK() 
  45. {
  46.     // TODO: この位置にその他の検証用のコードを追加してください
  47.     
  48.     CDialog::OnOK();
  49. }
  50.  
  51. BOOL CBoardInfoDlg::OnInitDialog() 
  52. {
  53.     CDialog::OnInitDialog();
  54.     
  55.     // TODO: この位置に初期化の補足処理を追加してください
  56.     DWORD            dwStyle;
  57.     ENC_CONFIG      config;
  58.     UINT            ui;
  59.  
  60.     ///////////////////////////
  61.     //  Dialog の表示準備...
  62.  
  63.     // set extended style
  64.     dwStyle = m_ListCtrl.GetExtendedStyle();
  65.     dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EDITLABELS;
  66.     m_ListCtrl.SetExtendedStyle(dwStyle);
  67.  
  68.     m_ListCtrl.InsertColumn(0, _T("No"), LVCFMT_CENTER, 30);
  69.     m_ListCtrl.InsertColumn(1, _T("Encode"), LVCFMT_CENTER, 55);
  70.     m_ListCtrl.InsertColumn(2, _T("Decode"), LVCFMT_CENTER, 55);
  71.     m_ListCtrl.InsertColumn(3, _T("Monitor"), LVCFMT_CENTER, 55);
  72.     m_ListCtrl.InsertColumn(4, _T("AVI2MPEG"), LVCFMT_CENTER, 70);
  73.     m_ListCtrl.InsertColumn(5, _T("Utilization"), LVCFMT_CENTER, 65);
  74.  
  75.     // 現在のボードの枚数を調べる
  76.     config.CodecNumber = 0;
  77.     ENC_Get_Codec_Config(0, &config);
  78.  
  79.     for(ui = 1; ui <= config.NumberCodecs; ui++)
  80.     {
  81.         LV_ITEM        listitem;
  82.         char        szNum[4];
  83.  
  84.         config.CodecNumber = ui;
  85.         ENC_Get_Codec_Config(0, &config);
  86.  
  87.         wsprintf(szNum, "%d", ui);
  88.  
  89.         listitem.mask        = LVIF_TEXT | LVIF_IMAGE;
  90.         listitem.iImage        = 0;
  91.         listitem.iItem        = ui - 1;
  92.         listitem.iSubItem    = 0;
  93.         listitem.pszText    = szNum;
  94.         m_ListCtrl.InsertItem(&listitem);
  95.  
  96.         if(config.CodecCaps & ENCCAP_ENCODE)
  97.             m_ListCtrl.SetItemText(ui - 1, 1, "o");
  98.         else
  99.             m_ListCtrl.SetItemText(ui - 1, 1, "x");
  100.  
  101.         if(config.CodecCaps & ENCCAP_DECODE)
  102.             m_ListCtrl.SetItemText(ui - 1, 2, "o");
  103.         else
  104.             m_ListCtrl.SetItemText(ui - 1, 2, "x");
  105.  
  106.         if(config.CodecCaps & ENCCAP_MONITOR)
  107.             m_ListCtrl.SetItemText(ui - 1, 3, "o");
  108.         else
  109.             m_ListCtrl.SetItemText(ui - 1, 3, "x");
  110.  
  111.         if(config.CodecCaps & ENCCAP_AVI2MPEG)
  112.             m_ListCtrl.SetItemText(ui - 1, 4, "o");
  113.         else
  114.             m_ListCtrl.SetItemText(ui - 1, 4, "x");
  115.  
  116.         if(config.CurrentUtilization)
  117.             m_ListCtrl.SetItemText(ui - 1, 5, "used");
  118.         else
  119.             m_ListCtrl.SetItemText(ui - 1, 5, "free");
  120.     }
  121.  
  122.     return TRUE;  // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
  123.                   // 例外: OCX プロパティ ページの戻り値は FALSE となります
  124. }
  125.