📄 runtimemsgpannel.cpp
字号:
// RuntimeMsgPannel.cpp : implementation file
//
#include "stdafx.h"
#include "netsdkdemo.h"
#include "RuntimeMsgPannel.h"
#include "NetSDKDemoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRuntimeMsgPannel dialog
CRuntimeMsgPannel::CRuntimeMsgPannel(CWnd* pParent /*=NULL*/)
: CDialog(CRuntimeMsgPannel::IDD, pParent)
{
//{{AFX_DATA_INIT(CRuntimeMsgPannel)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CRuntimeMsgPannel::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRuntimeMsgPannel)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRuntimeMsgPannel, CDialog)
//{{AFX_MSG_MAP(CRuntimeMsgPannel)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRuntimeMsgPannel message handlers
BOOL CRuntimeMsgPannel::OnInitDialog()
{
CDialog::OnInitDialog();
g_SetWndStaticText(this);
SetTimer(0,1000,0); //用于刷新码流统计
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CRuntimeMsgPannel::ShowLastError()
{
DWORD dwError = CLIENT_GetLastError();
switch(dwError)
{
case NET_NOERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NOERROR);
break;
case NET_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_ERROR);
break;
case NET_SYSTEM_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_SYSTEM_ERROR);
break;
case NET_NETWORK_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NETWORK_ERROR);
break;
case NET_DEV_VER_NOMATCH: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_DEV_VER_NOMATCH);
break;
case NET_INVALID_HANDLE: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_INVALID_HANDLE);
break;
case NET_OPEN_CHANNEL_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_OPEN_CHANNEL_ERROR);
break;
case NET_CLOSE_CHANNEL_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_CLOSE_CHANNEL_ERROR);
break;
case NET_ILLEGAL_PARAM: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_ILLEGAL_PARAM);
break;
case NET_SDK_INIT_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_SDK_INIT_ERROR);
break;
case NET_SDK_UNINIT_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_SDK_UNINIT_ERROR);
break;
case NET_RENDER_OPEN_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_OPEN_ERROR);
break;
case NET_DEC_OPEN_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_DEC_OPEN_ERROR);
break;
case NET_DEC_CLOSE_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_DEC_CLOSE_ERROR);
break;
case NET_MULTIPLAY_NOCHANNEL: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_MULTIPLAY_NOCHANNEL);
break;
case NET_TALK_INIT_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_TALK_INIT_ERROR);
break;
case NET_TALK_NOT_INIT: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_TALK_NOT_INIT);
break;
case NET_TALK_SENDDATA_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_TALK_SENDDATA_ERROR);
break;
case NET_NO_TALK_CHANNEL: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NO_TALK_CHANNEL);
break;
case NET_NO_AUDIO: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NO_AUDIO);
break;
case NET_REAL_ALREADY_SAVING: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_REAL_ALREADY_SAVING);
break;
case NET_NOT_SAVING: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NOT_SAVING);
break;
case NET_OPEN_FILE_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_OPEN_FILE_ERROR);
break;
case NET_PTZ_SET_TIMER_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_PTZ_SET_TIMER_ERROR);
break;
case NET_RETURN_DATA_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RETURN_DATA_ERROR);
break;
case NET_INSUFFICIENT_BUFFER: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_INSUFFICIENT_BUFFER);
break;
case NET_NOT_SUPPORTED: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NOT_SUPPORTED);
break;
case NET_NO_RECORD_FOUND: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NO_RECORD_FOUND);
break;
case NET_LOGIN_ERROR_PASSWORD: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_PASSWORD);
break;
case NET_LOGIN_ERROR_USER: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_USER);
break;
case NET_LOGIN_ERROR_TIMEOUT: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_TIMEOUT);
break;
case NET_LOGIN_ERROR_RELOGGIN: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_RELOGGIN);
break;
case NET_LOGIN_ERROR_LOCKED: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_LOCKED);
break;
case NET_LOGIN_ERROR_BLACKLIST: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_BLACKLIST);
break;
case NET_LOGIN_ERROR_BUSY: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_BUSY);
break;
case NET_LOGIN_ERROR_CONNECT: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_CONNECT);
break;
case NET_LOGIN_ERROR_NETWORK: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_LOGIN_ERROR_NETWORK);
break;
case NET_RENDER_SOUND_ON_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_SOUND_ON_ERROR);
break;
case NET_RENDER_SOUND_OFF_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_SOUND_OFF_ERROR);
break;
case NET_RENDER_SET_VOLUME_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_SET_VOLUME_ERROR);
break;
case NET_RENDER_ADJUST_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_ADJUST_ERROR);
break;
case NET_RENDER_PAUSE_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_PAUSE_ERROR);
break;
case NET_RENDER_SNAP_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_SNAP_ERROR);
break;
case NET_RENDER_STEP_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_STEP_ERROR);
break;
case NET_RENDER_FRAMERATE_ERROR: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_RENDER_FRAMERATE_ERROR);
break;
case NET_CONFIG_DEVBUSY: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_CONFIG_DEVBUSY);
break;
case NET_CONFIG_DATAILLEGAL: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_CONFIG_DATAILLEGAL);
break;
case NET_NO_INIT: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_NO_INIT);
break;
case NET_DOWNLOAD_END: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_DOWNLOAD_END);
break;
default: GetDlgItem(IDC_LAST_ERROR)->SetWindowText(ERROR_NET_ERROR);
}
}
void CRuntimeMsgPannel::OnTimer(UINT nIDEvent)
{
DeviceNode *pDev = 0;
// EnterCriticalSection(&g_cs);
CNetSDKDemoDlg *pMain = (CNetSDKDemoDlg *)AfxGetMainWnd();
int curScreen = pMain->GetCurScreen();
SplitInfoNode siNode;
memset(&siNode, 0, sizeof(siNode));
BOOL ret = pMain->GetSplitInfo_Main(curScreen, &siNode);
if (!ret)
{
MessageBox("error while getting split info");
}
switch(siNode.Type)
{
case SPLIT_TYPE_NULL:
return;
break;
case SPLIT_TYPE_MONITOR:
{
SplitMonitorParam *mtParam = (SplitMonitorParam *)siNode.Param;
pDev = mtParam->pDevice;
break;
}
case SPLIT_TYPE_MULTIPLAY:
{
pDev = (DeviceNode *)siNode.Param;
break;
}
case SPLIT_TYPE_CYCLEMONITOR:
{
SplitCycleParam *cmParam = (SplitCycleParam *)siNode.Param;
pDev = cmParam->pDevice;
break;
}
case SPLIT_TYPE_NETPLAY:
{
SplitNetPlayParam *npParam = (SplitNetPlayParam *)siNode.Param;
pDev = npParam->pFileInfo->pDevice;
break;
}
case SPLIT_TYPE_PBBYTIME:
{
SplitPBByTimeParam *pbParam = (SplitPBByTimeParam *)siNode.Param;
pDev = pbParam->pDevice;
break;
}
default:
return;
break;
}
if (pDev)
{
int nTotalKbps = CLIENT_GetStatiscFlux(pDev->LoginID, 0);
if (nTotalKbps < 0)
{
nTotalKbps = 0;
// pMain->LastError();
}
int nChannelKbps = CLIENT_GetStatiscFlux(pDev->LoginID, siNode.iHandle);
if (nChannelKbps < 0)
{
nChannelKbps = 0;
// pMain->LastError();
}
CString str, str2;
str.Format(" %d (Kbps)\n", nChannelKbps * 8 /1024);
str = NAME_RUNTIME_CHANNEL + str;
str2.Format(" %d (Kbps)", nTotalKbps * 8 /1024);
str2 = NAME_RUNTIME_TOTAL + str2;
str += str2;
GetDlgItem(IDC_FLUX_STATISC)->SetWindowText(str);
}
// LeaveCriticalSection(&g_cs);
// CDialog::OnTimer(nIDEvent);
}
void CRuntimeMsgPannel::EnableShowFlux(BOOL bShow)
{
if (bShow)
{
SetTimer(0, 1000, 0);
}
else
{
KillTimer(0);
}
}
BOOL CRuntimeMsgPannel::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYDOWN == pMsg->message &&
(VK_ESCAPE == pMsg->wParam || VK_RETURN == pMsg->wParam))
{
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -