// Info.cpp : implementation file // #include "stdafx.h" #include "StoneU_HC_CARDOCX.h" #include "Info.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern UINT PORT; ///////////////////////////////////////////////////////////////////////////// // CInfo dialog CInfo::CInfo(CWnd* pParent /*=NULL*/) : CDialog(CInfo::IDD, pParent) { //{{AFX_DATA_INIT(CInfo) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_nRows = 0; m_bInit = FALSE; csTemp = _T(""); } void CInfo::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CInfo) DDX_Control(pDX, IDC_LIST_INFO, m_ctrlListInfo); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CInfo, CDialog) //{{AFX_MSG_MAP(CInfo) ON_BN_CLICKED(IDC_REFRESH, OnRefresh) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CInfo message handlers void CInfo::OnRefresh() { // TODO: Add your control notification handler code here int nRows = m_nRows; //invalid after play() BOOL bOverlay=NAME(PlayM4_GetOverlayMode)(PORT); if(!m_bInit) { csTemp.Format("是否是覆盖表面"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } if(bOverlay) { csTemp.Format("是 关键色:0x%X",NAME(PlayM4_GetColorKey)(PORT)); } else csTemp.Format("否"); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("总播放链表缓冲(帧)"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } csTemp.Format("%d",NAME(PlayM4_GetDisplayBuf)(PORT)); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("音量"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } csTemp.Format("%x",NAME(PlayM4_GetVolume)(PORT)); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("图像质量"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } BOOL bHiQuality=FALSE; NAME(PlayM4_GetPictureQuality)(PORT,&bHiQuality); if(bHiQuality) csTemp="高"; else csTemp="低"; m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("当前时钟"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } DWORD nTimer; NAME(PlayM4_GetTimerType)(PORT,&nTimer,NULL); if(nTimer==TIMER_1) csTemp="TIMER_1"; else csTemp="TIMER_2"; m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; DWORD nVideoRender =NAME(PlayM4_GetBufferValue)(PORT,BUF_VIDEO_RENDER); DWORD nAudioRender =NAME(PlayM4_GetBufferValue)(PORT,BUF_AUDIO_RENDER); DWORD nVideoSource =NAME(PlayM4_GetBufferValue)(PORT,BUF_VIDEO_SRC); DWORD nAudioSource =NAME(PlayM4_GetBufferValue)(PORT,BUF_AUDIO_SRC); if(!m_bInit) { csTemp.Format("当前视频缓冲帧数(帧)"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } csTemp.Format("%d",nVideoRender); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("当前音频缓冲块数(块)"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } csTemp.Format("%d",nAudioRender); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("当前视频源缓冲大小(流方式)"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } csTemp.Format("%d",nVideoSource); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; if(!m_bInit) { csTemp.Format("当前音频源缓冲大小(流方式)"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); } csTemp.Format("%d",nAudioSource); m_ctrlListInfo.SetItemText(nRows,1,csTemp); nRows ++; } BOOL CInfo::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here //m_ListCtrl m_ctrlListInfo.InsertColumn(0, "选项", LVCFMT_LEFT, 200); m_ctrlListInfo.InsertColumn(1, "值", LVCFMT_LEFT, 150); m_ctrlListInfo.SetExtendedStyle(LVS_EX_FULLROWSELECT); #if (WINVER > 0x0400) //If only one adapter ,the return value is 0; DWORD nVal=NAME(PlayM4_GetDDrawDeviceTotalNums)(); if(nVal>=1) { csTemp.Format("显示设备数"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); csTemp.Format("%d", nVal); m_ctrlListInfo.SetItemText(m_nRows,1,csTemp); m_nRows ++; for(DWORD nCount=1;nCount<=nVal;nCount++) { DWORD nNameLen = 50; char pDriverDesp[50]; char pDriverName[50]; ZeroMemory(pDriverDesp, nNameLen); ZeroMemory(pDriverName, nNameLen); HMONITOR hMonitor; NAME(PlayM4_GetDDrawDeviceInfo)(nCount,pDriverDesp,nNameLen,pDriverName,nNameLen,&hMonitor); csTemp.Format("----显示设备<%d>", nCount-1); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); m_ctrlListInfo.SetItemText(m_nRows,1,pDriverDesp); m_nRows ++; csTemp.Format("----驱动<%d>", nCount-1); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); m_ctrlListInfo.SetItemText(m_nRows,1,pDriverName); m_nRows ++; } } else { csTemp.Format("只有主显示设备"); m_ctrlListInfo.InsertItem(LVIF_TEXT|LVIF_STATE, m_nRows, csTemp, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED, 0, 0); m_ctrlListInfo.SetItemText(m_nRows,1,"none"); m_nRows ++; } #endif OnRefresh(); m_bInit = TRUE; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }