📄 phonerecview.cpp
字号:
#include "stdafx.h"
#include "PhoneRec.h"
#include "PhoneRecDoc.h"
#include "PhoneRecView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CPhoneRecView * g_pMgr = NULL;
CString g_strReSavePath;
CDatabase g_dbCust;
int g_serildata;
IMPLEMENT_DYNCREATE( CPhoneRecView, CFormView )
BEGIN_MESSAGE_MAP(CPhoneRecView, CFormView)
//{{AFX_MSG_MAP(CPhoneRecView)
ON_WM_PAINT()
ON_WM_DESTROY()
ON_BN_CLICKED(IDC_CHECK0, OnCheck1)
ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
ON_BN_CLICKED(IDC_CHECK2, OnCheck1)
ON_BN_CLICKED(IDC_CHECK3, OnCheck1)
ON_BN_CLICKED(IDC_CHECK4, OnCheck1)
ON_BN_CLICKED(IDC_CHECK5, OnCheck1)
ON_BN_CLICKED(IDC_CHECK6, OnCheck1)
ON_BN_CLICKED(IDC_CHECK7, OnCheck1)
ON_BN_CLICKED(IDC_CHECK8, OnCheck1)
ON_BN_CLICKED(IDC_CHECK9, OnCheck1)
ON_BN_CLICKED(IDC_CHECK10, OnCheck1)
ON_BN_CLICKED(IDC_CHECK11, OnCheck1)
ON_BN_CLICKED(IDC_CHECK12, OnCheck1)
ON_BN_CLICKED(IDC_CHECK13, OnCheck1)
ON_BN_CLICKED(IDC_CHECK14, OnCheck1)
ON_BN_CLICKED(IDC_CHECK15, OnCheck1)
ON_BN_CLICKED(IDC_CHECK16, OnCheck1)
ON_BN_CLICKED(IDC_CHECK17, OnCheck1)
ON_BN_CLICKED(IDC_CHECK18, OnCheck1)
ON_BN_CLICKED(IDC_CHECK19, OnCheck1)
ON_BN_CLICKED(IDC_CHECK20, OnCheck1)
ON_BN_CLICKED(IDC_CHECK21, OnCheck1)
ON_BN_CLICKED(IDC_CHECK22, OnCheck1)
ON_BN_CLICKED(IDC_CHECK23, OnCheck1)
ON_BN_CLICKED(IDC_CHECK31, OnCheck1)
ON_BN_CLICKED(IDC_CHECK24, OnCheck1)
ON_BN_CLICKED(IDC_CHECK25, OnCheck1)
ON_BN_CLICKED(IDC_CHECK26, OnCheck1)
ON_BN_CLICKED(IDC_CHECK27, OnCheck1)
ON_BN_CLICKED(IDC_CHECK28, OnCheck1)
ON_BN_CLICKED(IDC_CHECK29, OnCheck1)
ON_BN_CLICKED(IDC_CHECK30, OnCheck1)
//}}AFX_MSG_MAP
ON_COMMAND( ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND( ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND( ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()
CPhoneRecView::CPhoneRecView()
: CFormView(CPhoneRecView::IDD)
{
m_nPushedBtnIdx = -1;
g_pMgr = this;
}
CPhoneRecView::~CPhoneRecView()
{
/* CChannel * pChan;
for( int i = m_LineArray.GetSize() -1 ; i>=0 ; i--)
{
pChan = m_LineArray.GetAt(i);
if( pChan)
{
delete pChan;
}
}
*/
}
void CPhoneRecView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPhoneRecView)
DDX_Control(pDX, IDC_CHECK0, m_btn0);
DDX_Control(pDX, IDC_PHONICCTRL, m_device);
DDX_Control(pDX, IDC_CHECK1, m_btn1);
DDX_Control(pDX, IDC_CHECK10, m_btn10);
DDX_Control(pDX, IDC_CHECK11, m_btn11);
DDX_Control(pDX, IDC_CHECK12, m_btn12);
DDX_Control(pDX, IDC_CHECK13, m_btn13);
DDX_Control(pDX, IDC_CHECK14, m_btn14);
DDX_Control(pDX, IDC_CHECK15, m_btn15);
DDX_Control(pDX, IDC_CHECK16, m_btn16);
DDX_Control(pDX, IDC_CHECK17, m_btn17);
DDX_Control(pDX, IDC_CHECK18, m_btn18);
DDX_Control(pDX, IDC_CHECK19, m_btn19);
DDX_Control(pDX, IDC_CHECK2, m_btn2);
DDX_Control(pDX, IDC_CHECK20, m_btn20);
DDX_Control(pDX, IDC_CHECK21, m_btn21);
DDX_Control(pDX, IDC_CHECK22, m_btn22);
DDX_Control(pDX, IDC_CHECK23, m_btn23);
DDX_Control(pDX, IDC_CHECK24, m_btn24);
DDX_Control(pDX, IDC_CHECK25, m_btn25);
DDX_Control(pDX, IDC_CHECK26, m_btn26);
DDX_Control(pDX, IDC_CHECK27, m_btn27);
DDX_Control(pDX, IDC_CHECK28, m_btn28);
DDX_Control(pDX, IDC_CHECK29, m_btn29);
DDX_Control(pDX, IDC_CHECK3, m_btn3);
DDX_Control(pDX, IDC_CHECK30, m_btn30);
DDX_Control(pDX, IDC_CHECK31, m_btn31);
DDX_Control(pDX, IDC_CHECK4, m_btn4);
DDX_Control(pDX, IDC_CHECK5, m_btn5);
DDX_Control(pDX, IDC_CHECK6, m_btn6);
DDX_Control(pDX, IDC_CHECK7, m_btn7);
DDX_Control(pDX, IDC_CHECK8, m_btn8);
DDX_Control(pDX, IDC_CHECK9, m_btn9);
DDX_Control(pDX, IDC_CALLER0, m_flashCaller0);
DDX_Control(pDX, IDC_CALLER1, m_flashCaller1);
DDX_Control(pDX, IDC_CALLER10, m_flashCaller10);
DDX_Control(pDX, IDC_CALLER11, m_flashCaller11);
DDX_Control(pDX, IDC_CALLER12, m_flashCaller12);
DDX_Control(pDX, IDC_CALLER13, m_flashCaller13);
DDX_Control(pDX, IDC_CALLER14, m_flashCaller14);
DDX_Control(pDX, IDC_CALLER15, m_flashCaller15);
DDX_Control(pDX, IDC_CALLER16, m_flashCaller16);
DDX_Control(pDX, IDC_CALLER17, m_flashCaller17);
DDX_Control(pDX, IDC_CALLER18, m_flashCaller18);
DDX_Control(pDX, IDC_CALLER19, m_flashCaller19);
DDX_Control(pDX, IDC_CALLER2, m_flashCaller2);
DDX_Control(pDX, IDC_CALLER20, m_flashCaller20);
DDX_Control(pDX, IDC_CALLER21, m_flashCaller21);
DDX_Control(pDX, IDC_CALLER22, m_flashCaller22);
DDX_Control(pDX, IDC_CALLER23, m_flashCaller23);
DDX_Control(pDX, IDC_CALLER24, m_flashCaller24);
DDX_Control(pDX, IDC_CALLER25, m_flashCaller25);
DDX_Control(pDX, IDC_CALLER26, m_flashCaller26);
DDX_Control(pDX, IDC_CALLER27, m_flashCaller27);
DDX_Control(pDX, IDC_CALLER28, m_flashCaller28);
DDX_Control(pDX, IDC_CALLER29, m_flashCaller29);
DDX_Control(pDX, IDC_CALLER3, m_flashCaller3);
DDX_Control(pDX, IDC_CALLER30, m_flashCaller30);
DDX_Control(pDX, IDC_CALLER31, m_flashCaller31);
DDX_Control(pDX, IDC_CALLER4, m_flashCaller4);
DDX_Control(pDX, IDC_CALLER5, m_flashCaller5);
DDX_Control(pDX, IDC_CALLER6, m_flashCaller6);
DDX_Control(pDX, IDC_CALLER7, m_flashCaller7);
DDX_Control(pDX, IDC_CALLER8, m_flashCaller8);
DDX_Control(pDX, IDC_CALLER9, m_flashCaller9);
DDX_Control(pDX, IDC_PROJECT_NAME, m_flashProjectName);
//}}AFX_DATA_MAP
}
BOOL CPhoneRecView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CFormView::PreCreateWindow(cs);
}
void CPhoneRecView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
g_dbCust.OpenEx( _T( "DSN=fiho;UID=;PWD=12345678",CDatabase::noOdbcDialog ) );
CRecordset rs( &g_dbCust );
CTime time = CTime::GetCurrentTime();
CString strStartDate = time.Format("%Y-%m-%d");
CString strSQL = "Select * from RecordData Where StartDate = # " +strStartDate+ "#" +" order by StartDate ASC, StartTime ASC";
rs.Open( CRecordset::dynaset, _T( strSQL ) );
CString strSerialNo;
while( !rs.IsEOF( ) )
{
rs.MoveLast();
rs.GetFieldValue( "SerialNo", strSerialNo );
break;
}
rs.Close();
g_serildata = atoi( strSerialNo );
/////////////////////////
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
//录音文件存放路径
g_strReSavePath = GetReSaveHomePath();
CheckCreateDir( g_strReSavePath );
//工程文件名
m_flashProjectName.SetBkColor( RGB( 109, 158, 231 ) );
m_flashProjectName.SetTextColor( RGB( 200, 0, 0 ) );
m_flashProjectName.SetFontSize( 35 );
m_flashProjectName.SetFontName( "楷体_GB2312" );
m_flashProjectName.SetFontBold( TRUE );
char FilePathBuffer[200] = "";
GetPrivateProfileString("title", "name", "",FilePathBuffer , 40 , GetConfigFilePath() );
m_flashProjectName.SetText(FilePathBuffer);
//创建电话图标
m_LargeImageList.Create(IDB_PHONEICONS, 32, 7, RGB(255, 255, 255));
//将所有按钮变量赋予 CButtonST 数组
CButtonST* btnarray[ 32 ] = { &m_btn0, &m_btn1, &m_btn2, &m_btn3, &m_btn4, &m_btn5, &m_btn6, &m_btn7,
&m_btn8, &m_btn9, &m_btn10, &m_btn11, &m_btn12, &m_btn13, &m_btn14, &m_btn15,
&m_btn16, &m_btn17, &m_btn18, &m_btn19, &m_btn20, &m_btn21, &m_btn22, &m_btn23,
&m_btn24, &m_btn25, &m_btn26, &m_btn27, &m_btn28, &m_btn29, &m_btn30, &m_btn31 };
for( int j = 0 ; j < 32 ; j++ )
{
m_pButtonArray[ j ] = btnarray[ j ];
}
//来电显示部分
CLabel* bflash[ 32 ] = { &m_flashCaller0, &m_flashCaller1,&m_flashCaller2,&m_flashCaller3,&m_flashCaller4,&m_flashCaller5,&m_flashCaller6,&m_flashCaller7,&m_flashCaller8,
&m_flashCaller9,&m_flashCaller10,&m_flashCaller11,&m_flashCaller12,&m_flashCaller13, &m_flashCaller14,&m_flashCaller15,&m_flashCaller16,
&m_flashCaller17,&m_flashCaller18,&m_flashCaller19,&m_flashCaller20,&m_flashCaller21,&m_flashCaller22,&m_flashCaller23,&m_flashCaller24,
&m_flashCaller25,&m_flashCaller26,&m_flashCaller27,&m_flashCaller28,&m_flashCaller29,&m_flashCaller30,&m_flashCaller31};
for( int k = 0 ; k < 32; k++ )
{
m_pFlashArray[ k ] = bflash[ k ];
m_pFlashArray[ k ]->SetBkColor( RGB( 109, 158, 231 ) );
}
//设备部分
m_device.OpenDevice();
m_device.ShowWindow( FALSE );
CChannel * pChannel;
int iChannelType;
int iLineCount = m_device.GetLineCount();
//界面电话按钮图标处理
for( int i = 0 ; i < 32; i++ )
{
iChannelType = m_device.GetChannelType( i );
btnarray[i]->SetColor( CButtonST::BTNST_COLOR_BK_IN, RGB( 109, 158, 231 ));
btnarray[i]->SetColor( CButtonST::BTNST_COLOR_BK_OUT, RGB( 109, 158, 231 ));
btnarray[i]->SetColor( CButtonST::BTNST_COLOR_BK_FOCUS, RGB( 109, 158, 231 ));
btnarray[i]->SetAlign( CButtonST::ST_ALIGN_VERT );
btnarray[i]->SetTooltipText("监听本通道请按下");
if ( i < iLineCount )//有效通道
{
switch( iChannelType )
{
case CH_HIGH_IMPEDANCE:
pChannel = new CMonitorChannel(i, &m_device);
btnarray[ i ]->SetWindowText( pChannel->m_strPhone );
break;
case CH_USER:
pChannel = new CChannel( i, &m_device );
break;
case CH_ANALOG_TRUNK:
pChannel = new CPhoneChannel(i, &m_device);
btnarray[ i ]->SetWindowText( pChannel->m_strPhone );
break;
default:
pChannel = new CChannel(i, &m_device);
break;
}
m_LineArray.Add( pChannel );
btnarray[i]->SetIcon( m_LargeImageList.ExtractIcon( pChannel->GetLineImage() ) );
if( pChannel->GetChannelType() == CH_SPEAKER)
{
continue;
}
m_LineArray.m_bIsChannelArray = FALSE;
m_ChannelArray[ pChannel->GetChannelType() ].Add(pChannel);
m_ChannelArray[ pChannel->GetChannelType() ].m_bIsChannelArray = TRUE;
}
else //无效通道
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -