CorpSms/FCJLog.cpp

167 lines
3.9 KiB
C++
Raw Permalink Normal View History

2025-02-27 16:58:16 +08:00
// FCJLog.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "FCJLog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFCJLog dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
CFCJLog::CFCJLog(CWnd* pParent /*=NULL*/)
: CDialog(CFCJLog::IDD, pParent)
{
//{{AFX_DATA_INIT(CFCJLog)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
}
void CFCJLog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFCJLog)
DDX_Control(pDX, IDC_CJLOG_LIST, m_wndList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFCJLog, CDialog)
//{{AFX_MSG_MAP(CFCJLog)
ON_WM_SIZE()
ON_NOTIFY(NM_DBLCLK, IDC_CJLOG_LIST, OnDblclkCjlogList)
ON_NOTIFY(NM_RCLICK, IDC_CJLOG_LIST, OnRclickCjlogList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFCJLog message handlers
BOOL CFCJLog::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
this->GetParent()->GetParentFrame();
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
m_pSocket = &m_pMainFrame->m_Socket;
m_AdoRS.SetAdoConnection( &m_pMainFrame->m_adoConnection );
//<2F><>ʼ<EFBFBD><CABC>List
m_Image.Create(16,16,ILC_COLOR32|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CJLOG) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; ʱ <20><>,150; <20><> Ϣ,450;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
//m_wndList.SetBkColor( RGB(237,191,175) );
//m_wndList.SetTextBkColor( RGB(237,191,175) );
m_bInit = true;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFCJLog::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
m_wndList.MoveWindow( 0 , 0 , cx,cy);
}
}
BOOL CFCJLog::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CFCJLog::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
void CFCJLog::RefreshInfo()
{
REQ_CJLog_See * pSee = new REQ_CJLog_See;
pSee->lCorpID = m_pMainFrame->m_lCorpID;
pSee->lUserID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame( SMSFUNC_CJLOG_SEE , (BYTE*)pSee , sizeof( REQ_CJLog_See ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
BOOL CFCJLog::ProcessSocket(Socket_Head *pHead)
{
//<2F>޸Ĺ<DEB8><C4B9>õ<EFBFBD>ַ<EFBFBD><D6B7>
if (pHead->lFuncType == SMSFUNC_CJLOG_SEE)
{
m_bRefresh = true; //<2F><>ˢ<EFBFBD><CBA2>
ANS_CJLog_See * pSee = (ANS_CJLog_See *)pHead->pFrame;
ANS_CJLog_SeeData * pData = (ANS_CJLog_SeeData *)(pHead->pFrame+sizeof(ANS_CJLog_See));
m_wndList.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndList.DeleteAllItems();
TCHAR Buf[32]={0};
for ( int i=0 ; i<pSee->lCount;i++ )
{
//д<><D0B4><EFBFBD>б<EFBFBD>
m_wndList.InsertItem( i , _itot(pSee->lCount-i,Buf,10),0);
m_wndList.SetItemData(i,pData->lCJLogID);
_stprintf(Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tCJTime.wYear,pData->tCJTime.wMonth,pData->tCJTime.wDay,pData->tCJTime.wHour,pData->tCJTime.wMinute );
m_wndList.SetItemText(i,1,Buf); //<2F><>ֵʱ<D6B5><CAB1>
m_wndList.SetItemText(i,2,pData->szMsg); //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
pData ++;
}
m_wndList.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
return true;
}
return false;
}
void CFCJLog::OnDblclkCjlogList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CFCJLog::OnRclickCjlogList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CFCJLog::OnOK()
{
//CDialog::OnOK();
}
void CFCJLog::OnCancel()
{
//CDialog::OnCancel();
}