Info.cpp 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. // Info.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "StoneU_HC_CARDOCX.h"
  5. #include "Info.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. extern UINT PORT;
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CInfo dialog
  14. CInfo::CInfo(CWnd* pParent /*=NULL*/)
  15. : CDialog(CInfo::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CInfo)
  18. // NOTE: the ClassWizard will add member initialization here
  19. //}}AFX_DATA_INIT
  20. m_nRows = 0;
  21. m_bInit = FALSE;
  22. csTemp = _T("");
  23. }
  24. void CInfo::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CInfo)
  28. DDX_Control(pDX, IDC_LIST_INFO, m_ctrlListInfo);
  29. //}}AFX_DATA_MAP
  30. }
  31. BEGIN_MESSAGE_MAP(CInfo, CDialog)
  32. //{{AFX_MSG_MAP(CInfo)
  33. ON_BN_CLICKED(IDC_REFRESH, OnRefresh)
  34. //}}AFX_MSG_MAP
  35. END_MESSAGE_MAP()
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CInfo message handlers
  38. void CInfo::OnRefresh()
  39. {
  40. // TODO: Add your control notification handler code here
  41. int nRows = m_nRows;
  42. //invalid after play()
  43. BOOL bOverlay=NAME(PlayM4_GetOverlayMode)(PORT);
  44. if(!m_bInit)
  45. {
  46. csTemp.Format("是否是覆盖表面");
  47. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  48. }
  49. if(bOverlay)
  50. {
  51. csTemp.Format("是 关键色:0x%X",NAME(PlayM4_GetColorKey)(PORT));
  52. }
  53. else
  54. csTemp.Format("否");
  55. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  56. nRows ++;
  57. if(!m_bInit)
  58. {
  59. csTemp.Format("总播放链表缓冲(帧)");
  60. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  61. }
  62. csTemp.Format("%d",NAME(PlayM4_GetDisplayBuf)(PORT));
  63. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  64. nRows ++;
  65. if(!m_bInit)
  66. {
  67. csTemp.Format("音量");
  68. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  69. }
  70. csTemp.Format("%x",NAME(PlayM4_GetVolume)(PORT));
  71. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  72. nRows ++;
  73. if(!m_bInit)
  74. {
  75. csTemp.Format("图像质量");
  76. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  77. }
  78. BOOL bHiQuality=FALSE;
  79. NAME(PlayM4_GetPictureQuality)(PORT,&bHiQuality);
  80. if(bHiQuality)
  81. csTemp="高";
  82. else
  83. csTemp="低";
  84. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  85. nRows ++;
  86. if(!m_bInit)
  87. {
  88. csTemp.Format("当前时钟");
  89. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  90. }
  91. DWORD nTimer;
  92. NAME(PlayM4_GetTimerType)(PORT,&nTimer,NULL);
  93. if(nTimer==TIMER_1)
  94. csTemp="TIMER_1";
  95. else
  96. csTemp="TIMER_2";
  97. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  98. nRows ++;
  99. DWORD nVideoRender =NAME(PlayM4_GetBufferValue)(PORT,BUF_VIDEO_RENDER);
  100. DWORD nAudioRender =NAME(PlayM4_GetBufferValue)(PORT,BUF_AUDIO_RENDER);
  101. DWORD nVideoSource =NAME(PlayM4_GetBufferValue)(PORT,BUF_VIDEO_SRC);
  102. DWORD nAudioSource =NAME(PlayM4_GetBufferValue)(PORT,BUF_AUDIO_SRC);
  103. if(!m_bInit)
  104. {
  105. csTemp.Format("当前视频缓冲帧数(帧)");
  106. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  107. }
  108. csTemp.Format("%d",nVideoRender);
  109. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  110. nRows ++;
  111. if(!m_bInit)
  112. {
  113. csTemp.Format("当前音频缓冲块数(块)");
  114. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  115. }
  116. csTemp.Format("%d",nAudioRender);
  117. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  118. nRows ++;
  119. if(!m_bInit)
  120. {
  121. csTemp.Format("当前视频源缓冲大小(流方式)");
  122. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  123. }
  124. csTemp.Format("%d",nVideoSource);
  125. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  126. nRows ++;
  127. if(!m_bInit)
  128. {
  129. csTemp.Format("当前音频源缓冲大小(流方式)");
  130. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  131. }
  132. csTemp.Format("%d",nAudioSource);
  133. m_ctrlListInfo.SetItemText(nRows,1,csTemp);
  134. nRows ++;
  135. }
  136. BOOL CInfo::OnInitDialog()
  137. {
  138. CDialog::OnInitDialog();
  139. // TODO: Add extra initialization here
  140. //m_ListCtrl
  141. m_ctrlListInfo.InsertColumn(0, "选项", LVCFMT_LEFT, 200);
  142. m_ctrlListInfo.InsertColumn(1, "值", LVCFMT_LEFT, 150);
  143. m_ctrlListInfo.SetExtendedStyle(LVS_EX_FULLROWSELECT);
  144. #if (WINVER > 0x0400)
  145. //If only one adapter ,the return value is 0;
  146. DWORD nVal=NAME(PlayM4_GetDDrawDeviceTotalNums)();
  147. if(nVal>=1)
  148. {
  149. csTemp.Format("显示设备数");
  150. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  151. csTemp.Format("%d", nVal);
  152. m_ctrlListInfo.SetItemText(m_nRows,1,csTemp);
  153. m_nRows ++;
  154. for(DWORD nCount=1;nCount<=nVal;nCount++)
  155. {
  156. DWORD nNameLen = 50;
  157. char pDriverDesp[50];
  158. char pDriverName[50];
  159. ZeroMemory(pDriverDesp, nNameLen);
  160. ZeroMemory(pDriverName, nNameLen);
  161. HMONITOR hMonitor;
  162. NAME(PlayM4_GetDDrawDeviceInfo)(nCount,pDriverDesp,nNameLen,pDriverName,nNameLen,&hMonitor);
  163. csTemp.Format("----显示设备<%d>", nCount-1);
  164. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  165. m_ctrlListInfo.SetItemText(m_nRows,1,pDriverDesp);
  166. m_nRows ++;
  167. csTemp.Format("----驱动<%d>", nCount-1);
  168. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  169. m_ctrlListInfo.SetItemText(m_nRows,1,pDriverName);
  170. m_nRows ++;
  171. }
  172. }
  173. else
  174. {
  175. csTemp.Format("只有主显示设备");
  176. m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0);
  177. m_ctrlListInfo.SetItemText(m_nRows,1,"none");
  178. m_nRows ++;
  179. }
  180. #endif
  181. OnRefresh();
  182. m_bInit = TRUE;
  183. return TRUE; // return TRUE unless you set the focus to a control
  184. // EXCEPTION: OCX Property Pages should return FALSE
  185. }