// DLG_UBox_UserLog.cpp : 实现文件 // #include "stdafx.h" #include "CorpSms.h" #include "DLG_UBox_UserLog.h" #include "afxdialogex.h" #include "FUBoxLog.h" // DLG_UBox_UserLog 对话框 IMPLEMENT_DYNAMIC(DLG_UBox_UserLog, CDialogEx) DLG_UBox_UserLog::DLG_UBox_UserLog(CWnd* pParent /*=NULL*/) : CDialogEx(DLG_UBox_UserLog::IDD, pParent) { m_pGetLog2 = NULL; m_pCallLog = NULL; } DLG_UBox_UserLog::~DLG_UBox_UserLog() { } void DLG_UBox_UserLog::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_UBOX_USERLOG_LIST, m_wndList); } BEGIN_MESSAGE_MAP(DLG_UBox_UserLog, CDialogEx) END_MESSAGE_MAP() // DLG_UBox_UserLog 消息处理程序 BOOL DLG_UBox_UserLog::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 //初始化List m_Image.Create(16,16,ILC_COLOR32|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLIN) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLIN2) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLOUT) ); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CALLOUT2) ); m_wndList.SubClassWindow2(); m_wndList.SetHeadings(_T("序号,50;处理人,90;方向,60;状态,60;来电号码,100;归属地,100;来电时间,130;通话时长,80;姓名,90;来电单位,150;通话类型,120;备注,200;")); m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); if ( m_pGetLog2 ) { CString str; str.Format(_T("[%s]的通话与跟进记录") , m_pGetLog2->req.szKH_Name ); SetWindowText(str); } ShowCallLog(); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void DLG_UBox_UserLog::SetParam(ANS_UBox_GetLog2 * pLog2,ANS_UBox_CallLog * pCallLog) { m_pGetLog2 = pLog2; m_pCallLog = pCallLog; } void DLG_UBox_UserLog::ShowCallLog() { if ( !m_pGetLog2 ) return ; if ( !m_pCallLog ) return ; m_wndList.ShowWindow(SW_HIDE); m_wndList.DeleteAllItems(); for ( int i=0 ; ilCount ; i++ ) { ShowInList(&m_pCallLog[i],-1,NULL); } m_wndList.ShowWindow(SW_SHOW); } BOOL DLG_UBox_UserLog::ShowInList(ANS_UBox_CallLog * pData,long lItem2,POSITION pos) { CString str; long lItem =lItem2; if ( lItem<0 ) //新增 { lItem = m_wndList.GetItemCount(); str.Format(_T("%d") , lItem+1 ); m_wndList.InsertItem( lItem , str , CFUBoxLog::GetCallLogIconIndex(pData) ); m_wndList.SetItemData( lItem , (DWORD_PTR)pos ); //存Pos } //m_wndList.SetHeadings(_T("序号,50;处理人,80;方向,60;状态,60;来电号码,100;归属地,100;来电时间,120;通话时长,50;姓名,80;来电单位,130;通话类型,120;备注,200;")); long lTemp11=1; m_wndList.SetItemText( lItem , lTemp11++ , pData->szUserName ) ; if (pData->lCallWay ==0 ) m_wndList.SetItemText(lItem,lTemp11++,_T("呼入")); else m_wndList.SetItemText(lItem,lTemp11++,_T("呼出")); if (pData->lCallStatus ==0 ) m_wndList.SetItemText(lItem,lTemp11++,_T("未接")); else m_wndList.SetItemText(lItem,lTemp11++,_T("已接")); m_wndList.SetItemText( lItem , lTemp11++ , pData->szCallNumber ) ; m_wndList.SetItemText( lItem , lTemp11++ , pData->szCallLocal ) ; str.Format(_T("%04d.%02d.%02d %02d:%02d") , pData->tCallTime.wYear,pData->tCallTime.wMonth,pData->tCallTime.wDay,pData->tCallTime.wHour,pData->tCallTime.wMinute); m_wndList.SetItemText(lItem,lTemp11++,str); //通话时间 COleDateTimeSpan span(0,0,0,pData->lCallSC); str.Format(_T("%02d:%02d:%02d"),span.GetHours(),span.GetMinutes(),span.GetSeconds()); m_wndList.SetItemText(lItem,lTemp11++,str); //时长 m_wndList.SetItemText(lItem,lTemp11++,pData->szKHName); //姓名 m_wndList.SetItemText(lItem,lTemp11++,pData->szKHLTD); //单位 m_wndList.SetItemText(lItem,lTemp11++,pData->szCallType); //类型 m_wndList.SetItemText(lItem,lTemp11++,pData->szCallBZ); //备注 return true; }