📄 calldlg.cpp
字号:
return FALSE;
}
return TRUE;
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::InitAllChannel()
{
CString cString;
int m = 0;
int n = 0;
int o = 0;
m_nTotalCh = SsmGetMaxCh();
for(int i=0; i<m_nTotalCh; i++)
{
int iType = SsmGetChType(i);
if( iType >= 0 )
{
if(iType == 0)
{
int nDirection;
int iAutoCall;
if(iAutoCall = SsmGetAutoCallDirection(i, &nDirection))
{
if(iAutoCall == 1)
{
m_AnalogCh[m].iChId = i;
m_AnalogCh[m].bEnCalled = TRUE;
m_AnalogCh[m].Step = E_STATE_ANALOG_IDLE;
m_AnalogCh[m].nStationCh = -1;
m_AnalogCh[m].iLineState = SsmGetChState(i);
memset(m_AnalogCh[m].szCallerTelNumber, 0, 64);
m_AnalogCh[m].ulTimeOutCounter = 0;
m++;
}
if(nDirection !=2)
{
CString strErrMsg;
cString.LoadString(IDS_CALLDLG1);
strErrMsg.Format(cString, i);
AfxMessageBox(strErrMsg, MB_OK);
}
}
}
if(iType == 2)
{
m_StationCh[n].iChId = i;
m_StationCh[n].iTalkWithChId = -1;
m_StationCh[n].Step = E_STATE_STATION_IDLE;
n++;
}
if(iType == m_nIPProtocol)
{
m_IpCh[o].iChId = i;
m_IpCh[o].Step = E_STATE_IP_IDLE;
m_IpCh[o].nStationCh = -1;
m_IpCh[o].iLineState = SsmGetChState(i);
memset(m_IpCh[o].szCallerTelNumber,0,64);
m_IpCh[o].ulTimeOutCounter = 0;
m_IpCh[o].ulCodecType = -1;
o++;
}
}//?end if( iType >= 0 )
else
{
char szErrMsg[124];
SsmGetLastErrMsg(szErrMsg);
AfxMessageBox(szErrMsg, MB_OK);
}
}
m_nTotalAnalogCh = m;
m_nTotalStationCh = n;
m_nTotalIpCh = o;
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::InitAnalogChListCtrl()
{
CString cString;
m_AnalogChList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
COLORREF cr = 0x000000;
m_AnalogChList.SetBkColor(cr);
m_AnalogChList.SetTextBkColor(cr);
COLORREF cr1 = 0x00ff00;
m_AnalogChList.SetTextColor(cr1);
int ColumnWidth[5] = {80, 100, 200, 100};
LV_COLUMN lvc;
lvc.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.iSubItem = 0;
cString.LoadString(IDS_CALLDLG2);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[0];
m_AnalogChList.InsertColumn(0, &lvc);
lvc.iSubItem = 1;
cString.LoadString(IDS_CALLDLG3);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[1];
m_AnalogChList.InsertColumn(1, &lvc);
lvc.iSubItem = 2;
cString.LoadString(IDS_CALLDLG4);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[2];
m_AnalogChList.InsertColumn(2, &lvc);
lvc.iSubItem = 3;
cString.LoadString(IDS_CALLDLG5);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[3];
m_AnalogChList.InsertColumn(3, &lvc);
char szChId[3];
for(int i=0; i<m_nTotalAnalogCh; i++)
{
m_AnalogChList.InsertItem(i, _itoa(m_AnalogCh[i].iChId, szChId, 10));
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::InitIpChListCtrl()
{
CString cString;
m_IpChList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
COLORREF cr = 0x000000;
m_IpChList.SetBkColor(cr);
m_IpChList.SetTextBkColor(cr);
COLORREF cr1 = 0x00ff00;
m_IpChList.SetTextColor(cr1);
int ColumnWidth[6] = {80, 100, 200, 100, 80, 80};
LV_COLUMN lvc;
lvc.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.iSubItem = 0;
cString.LoadString(IDS_CALLDLG6);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[0];
m_IpChList.InsertColumn(0, &lvc);
lvc.iSubItem = 1;
cString.LoadString(IDS_CALLDLG7);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[1];
m_IpChList.InsertColumn(1, &lvc);
lvc.iSubItem = 2;
cString.LoadString(IDS_CALLDLG8);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[2];
m_IpChList.InsertColumn(2, &lvc);
lvc.iSubItem = 3;
cString.LoadString(IDS_CALLDLG9);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[3];
m_IpChList.InsertColumn(3, &lvc);
lvc.iSubItem = 4;
cString.LoadString(IDS_CALLDLG10);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[4];
m_IpChList.InsertColumn(4, &lvc);
lvc.iSubItem = 5;
cString.LoadString(IDS_CALLDLG11);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[5];
m_IpChList.InsertColumn(5, &lvc);
char szChId[3];
for(int i=0; i<m_nTotalIpCh; i++)
{
m_IpChList.InsertItem(i, _itoa(m_IpCh[i].iChId, szChId, 10));
switch(m_nIPProtocol)
{
case PROTOCOL_H323:
{
m_IpChList.SetItemText(i, 5, "H323");
break;
}
case PROTOCOL_SIP:
{
m_IpChList.SetItemText(i, 5, "SIP");
break;
}
default:
{
cString.LoadString(IDS_CALLDLG12);
m_IpChList.SetItemText(i, 5, cString);
break;
}
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::InitStationChListCtrl()
{
CString cString;
m_StationChList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
COLORREF cr = 0x000000;
m_StationChList.SetBkColor(cr);
m_StationChList.SetTextBkColor(cr);
COLORREF cr1 = 0x00ff00;
m_StationChList.SetTextColor(cr1);
int ColumnWidth[5] = {80, 100, 100};
LV_COLUMN lvc;
lvc.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.iSubItem = 0;
cString.LoadString(IDS_CALLDLG13);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[0];
m_StationChList.InsertColumn(0, &lvc);
lvc.iSubItem = 1;
cString.LoadString(IDS_CALLDLG14);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[1];
m_StationChList.InsertColumn(1, &lvc);
lvc.iSubItem = 2;
cString.LoadString(IDS_CALLDLG15);
lvc.pszText = (LPTSTR)(LPCTSTR)cString ;
lvc.cx = ColumnWidth[2];
m_StationChList.InsertColumn(2, &lvc);
char szChId[3];
for(int i=0; i<m_nTotalStationCh; i++)
{
m_StationChList.InsertItem(i, _itoa(m_StationCh[i].iChId, szChId, 10));
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::UpDateAnalogChListCtrl()
{
for(int i = 0; i < m_nTotalAnalogCh; i++)
{
if(m_AnalogCh[i].bEnCalled)
{
CString strState;
switch(m_AnalogCh[i].Step)
{
case E_STATE_ANALOG_IDLE: strState.LoadString(IDS_CALLDLG16); break ;
case E_STATE_ANALOG_WAIT_CONNECT: strState.LoadString(IDS_CALLDLG17); break ;
case E_STATE_ANALOG_PLAY_WELCOM: strState.LoadString(IDS_CALLDLG18); break ;
case E_STATE_ANALOG_CHECK_PLAY_WELCOM: strState.LoadString(IDS_CALLDLG19); break ;
case E_STATE_ANALOG_PLAY_SELECT: strState.LoadString(IDS_CALLDLG20); break ;
case E_STATE_ANALOG_CHECK_PLAY_SELECT: strState.LoadString(IDS_CALLDLG21); break ;
case E_STATE_ANALOG_CHECK_REC_START: strState.LoadString(IDS_CALLDLG22); break ;
case E_STATE_ANALOG_CHECK_REC_END: strState.LoadString(IDS_CALLDLG23); break ;
case E_STATE_ANALOG_CHECK_PLAY_RECORD: strState.LoadString(IDS_CALLDLG24); break ;
case E_STATE_ANALOG_CHECK_PLAY_BYEBYE: strState.LoadString(IDS_CALLDLG25); break ;
case E_STATE_ANALOG_CHECK_PLAY_PASSWORD: strState.LoadString(IDS_CALLDLG26); break ;
case E_STATE_ANALOG_WAIT_STATION_PICKUP: strState.LoadString(IDS_CALLDLG27); break ;
case E_STATE_ANALOG_WAIT_STATION_HANGUP: strState.LoadString(IDS_CALLDLG28); break ;
default: strState.LoadString(IDS_CALLDLG29); break ;
}
if(m_AnalogChList.GetItemText(i,1) != strState)
{
m_AnalogChList.SetItemText(i, 1, strState);
}
if(m_AnalogChList.GetItemText(i,2) != m_AnalogCh[i].szCallerTelNumber)
{
m_AnalogChList.SetItemText(i, 2, m_AnalogCh[i].szCallerTelNumber);
}
char szChId[3];
itoa(m_AnalogCh[i].nStationCh,szChId,10);
if(m_AnalogChList.GetItemText(i,3) != szChId)
{
m_AnalogChList.SetItemText(i, 3, szChId);
}
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::UpDateIpChListCtrl()
{
for(int i = 0; i < m_nTotalIpCh; i++)
{
CString strState;
switch( m_IpCh[i].Step )
{
case E_STATE_IP_IDLE: strState.LoadString(IDS_CALLDLG30); break ;
case E_STATE_IP_WAIT_CONNECT: strState.LoadString(IDS_CALLDLG31); break ;
case E_STATE_IP_PLAY_WELCOME: strState.LoadString(IDS_CALLDLG32); break ;
case E_STATE_IP_CHECK_PLAY_WELCOME: strState.LoadString(IDS_CALLDLG33); break ;
case E_STATE_IP_PLAY_SELECT: strState.LoadString(IDS_CALLDLG34); break ;
case E_STATE_IP_CHECK_PLAY_SELECT: strState.LoadString(IDS_CALLDLG35); break ;
case E_STATE_IP_CHECK_REC_START: strState.LoadString(IDS_CALLDLG36); break ;
case E_STATE_IP_CHECK_REC_END: strState.LoadString(IDS_CALLDLG37); break ;
case E_STATE_IP_WAIT_STATION_PICKUP: strState.LoadString(IDS_CALLDLG38); break ;
case E_STATE_IP_WAIT_STATION_HANGUP: strState.LoadString(IDS_CALLDLG39); break ;
default: strState.LoadString(IDS_CALLDLG40); break ; strState = "未定义"; break ;
}
if(m_IpChList.GetItemText(i,1) != strState)
{
m_IpChList.SetItemText(i, 1, strState);
}
if(m_IpChList.GetItemText(i,2) != m_IpCh[i].szCallerTelNumber)
{
m_IpChList.SetItemText(i, 2, m_IpCh[i].szCallerTelNumber);
}
char szChId[3];
itoa(m_IpCh[i].nStationCh,szChId,10);
if(m_IpChList.GetItemText(i,3) != szChId)
{
m_IpChList.SetItemText(i, 3, szChId);
}
char szCodec[3];
ltoa(m_IpCh[i].ulCodecType,szCodec,10);
if(m_IpChList.GetItemText(i,4) != szCodec)
{
m_IpChList.SetItemText(i, 4, szCodec);
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::UpDateStationChListCtrl()
{
CString cString;
for(int i=0; i< m_nTotalStationCh; i++)
{
CString strState;
switch(m_StationCh[i].Step)
{
case E_STATE_STATION_IDLE:
{
strState.LoadString(IDS_CALLDLG41);
break;
}
case E_STATE_STATION_RINGING:
{
strState.LoadString(IDS_CALLDLG42);
break;
}
case E_STATE_STATION_TALKING:
{
strState.LoadString(IDS_CALLDLG43);
break;
}
default:
break;
}
if(m_StationChList.GetItemText(i,1) != strState)
{
m_StationChList.SetItemText(i, 1, strState);
}
char szChId[3];
itoa(m_StationCh[i].iTalkWithChId,szChId,10);
if(m_StationChList.GetItemText(i,2) != szChId)
{
m_StationChList.SetItemText(i, 2, szChId);
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
void CCallDlg::ProtocolType()
{
int nProtocol = GetPrivateProfileInt("Config", "IPProtocol", 0, ".\\call.ini");
switch (nProtocol)
{
case 0:
{
m_nIPProtocol = PROTOCOL_H323;
break;
}
case 1:
{
m_nIPProtocol = PROTOCOL_SIP;
break;
}
default:
{
m_nIPProtocol = -1;
break;
}
}
}
void CCallDlg::InitLab()
{
if(g_dwLanguageConversion == g_dwCHINESE_TRADITIONAL
||g_dwLanguageConversion == g_dwCHINESE_HONGKONG)
{
SetEngWinLab(this, IDC_STATIC_ANALOG, BIG5CALLDLG1);
SetEngWinLab(this, IDC_STATIC_IP, BIG5CALLDLG2);
SetEngWinLab(this, IDC_STATIC_STATION, BIG5CALLDLG3);
SetEngWinLab(this, IDOK, BIG5CALLDLG4);
}
else
{
SetEngWinLab(this, IDC_STATIC_ANALOG, CALLDLG1);
SetEngWinLab(this, IDC_STATIC_IP, CALLDLG2);
SetEngWinLab(this, IDC_STATIC_STATION, CALLDLG3);
SetEngWinLab(this, IDOK, CALLDLG4);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -