rectvinfoview.cpp
来自「电压监测后台管理程序,数据是通过GPRS传到因特网的」· C++ 代码 · 共 225 行
CPP
225 行
// rectvinfoView.cpp : implementation of the CRectvinfoView class
//
#include "stdafx.h"
#include "rectvinfo.h"
#include "rectvinfoDoc.h"
#include "rectvinfoView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRectvinfoView
CRectvinfoApp* theViewApp;
IMPLEMENT_DYNCREATE(CRectvinfoView, CFormView)
BEGIN_MESSAGE_MAP(CRectvinfoView, CFormView)
//{{AFX_MSG_MAP(CRectvinfoView)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRectvinfoView construction/destruction
CRectvinfoView::CRectvinfoView()
: CFormView(CRectvinfoView::IDD)
{
//{{AFX_DATA_INIT(CRectvinfoView)
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CRectvinfoView::~CRectvinfoView()
{
}
void CRectvinfoView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRectvinfoView)
DDX_Control(pDX, IDC_LIST_DBSTATUS, m_listDb);
DDX_Control(pDX, IDC_LIST_WIRELESSERID, m_listId);
//}}AFX_DATA_MAP
}
BOOL CRectvinfoView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CFormView::PreCreateWindow(cs);
}
void CRectvinfoView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
theViewApp = (CRectvinfoApp*)AfxGetApp();
theViewApp->formWnd = m_hWnd;
ListIdPoint = 0;
ListDbPoint = 0;
InitListId();
InitListDb();
}
/////////////////////////////////////////////////////////////////////////////
// CRectvinfoView diagnostics
#ifdef _DEBUG
void CRectvinfoView::AssertValid() const
{
CFormView::AssertValid();
}
void CRectvinfoView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CRectvinfoDoc* CRectvinfoView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRectvinfoDoc)));
return (CRectvinfoDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CRectvinfoView message handlers
void CRectvinfoView::InitListId()
{
CRect rect;
CString strItem1= _T("电压监测仪仪器编号");
CString strItem2= _T("连接时间(月-日 时:分)");
m_listId.DeleteAllItems();
m_listId.GetWindowRect(&rect);
m_listId.InsertColumn(0, strItem1, LVCFMT_LEFT,
rect.Width() * 3/7, 0);
m_listId.InsertColumn(1, strItem2, LVCFMT_LEFT,
rect.Width() * 1/2, 1);
m_listId.SetTextColor(RGB(0,0,0));
}
void CRectvinfoView::AddListId(char* telnum)
{
LVITEM T_lvitem;
CString T_strTempStr;
LPTSTR T_pStrTemp = T_strTempStr.GetBuffer(20);
SYSTEMTIME nowtime;
char t[10];
int ActualItem;
T_lvitem.mask = LVIF_TEXT;
T_lvitem.iItem = ListIdPoint;
T_lvitem.iSubItem = 0;
strcpy(T_pStrTemp,telnum);
T_lvitem.pszText = T_pStrTemp;
ActualItem = m_listId.InsertItem(&T_lvitem); // insert new item
GetLocalTime(&nowtime);
T_lvitem.iSubItem = 1;
sprintf(t,"%2d-%02d %2d:%02d",nowtime.wMonth,nowtime.wDay,nowtime.wHour,nowtime.wMinute);
strcpy(T_pStrTemp,t);
T_lvitem.pszText = T_pStrTemp;
m_listId.SetItem(&T_lvitem);
ListIdPoint++;
T_strTempStr.ReleaseBuffer(20);
}
void CRectvinfoView::DeleteListId(char* telnum)
{
LVFINDINFO mLvFindinfo;
int index;
mLvFindinfo.flags = LVFI_STRING;
mLvFindinfo.psz = LPCTSTR(telnum);
index = m_listId.FindItem(&mLvFindinfo);
if (index!=-1)
{
m_listId.DeleteItem(index);
ListIdPoint--;
}
}
void CRectvinfoView::InitListDb()
{
CRect rect;
CString strItem1= _T(" 历 史 状 态");
CString strItem2= _T("时间(月-日 时:分)");
m_listDb.DeleteAllItems();
m_listDb.GetWindowRect(&rect);
m_listDb.InsertColumn(0, strItem1, LVCFMT_LEFT,
rect.Width() * 2/5, 0);
m_listDb.InsertColumn(1, strItem2, LVCFMT_LEFT,
rect.Width() * 1/2, 1);
m_listDb.SetTextColor(RGB(0,0,0));
}
void CRectvinfoView::AddListDb(char * telnum)
{
LVITEM T_lvitem;
CString T_strTempStr;
LPTSTR T_pStrTemp = T_strTempStr.GetBuffer(22);
SYSTEMTIME nowtime;
char t[10];
int ActualItem;
T_lvitem.mask = LVIF_TEXT;
T_lvitem.iItem = ListDbPoint;
T_lvitem.iSubItem = 0;
strcpy(T_pStrTemp,telnum);
T_lvitem.pszText = T_pStrTemp;
ActualItem = m_listDb.InsertItem(&T_lvitem); // insert new item
GetLocalTime(&nowtime);
T_lvitem.iSubItem = 1;
sprintf(t,"%2d-%02d %2d:%02d",nowtime.wMonth,nowtime.wDay,nowtime.wHour,nowtime.wMinute);
strcpy(T_pStrTemp,t);
T_lvitem.pszText = T_pStrTemp;
m_listDb.SetItem(&T_lvitem);
ListDbPoint++;
T_strTempStr.ReleaseBuffer(22);
}
LRESULT CRectvinfoView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch(message)
{
case ADDLISTDB:
AddListDb((char*)lParam);
delete (UCHAR*) lParam;
break;
case DELETELISTID:
DeleteListId((char*)lParam);
delete (UCHAR*) lParam;
break;
default:
break;
}
return CFormView::WindowProc(message, wParam, lParam);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?