📄 readsms.cpp
字号:
// ReadSMS.cpp : implementation file
//
#include "stdafx.h"
#include "portpe.h"
#include "ReadSMS.h"
extern CPortPeApp theApp;
#include "ComPort.h"
extern CComPort port;
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CReadSMS dialog
CReadSMS::CReadSMS(CWnd* pParent /*=NULL*/)
: CDialog(CReadSMS::IDD, pParent)
{
//{{AFX_DATA_INIT(CReadSMS)
m_mobler = _T("");
m_sms = _T("");
m_time = _T("");
//}}AFX_DATA_INIT
}
void CReadSMS::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CReadSMS)
DDX_Control(pDX, IDC_PICTURE, m_pic);
DDX_Text(pDX, IDC_MOBLER, m_mobler);
DDX_Text(pDX, IDC_CONTENT, m_sms);
DDX_Text(pDX, IDC_MOBLER2, m_time);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CReadSMS, CDialog)
//{{AFX_MSG_MAP(CReadSMS)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CReadSMS message handlers
BOOL CReadSMS::OnInitDialog()
{
CDialog::OnInitDialog();
TCHAR temp[256]=TEXT("\0");
HBITMAP hBk =(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(MAIN21),IMAGE_BITMAP, 0, 0, 0);
if(hBk!=NULL)
{
m_pic.SetBitmap(hBk);
}
CStatic* pLabelOne;
pLabelOne = (CStatic*) GetDlgItem (IDC_MOBLER);
pLabelOne->SetWindowText (TEXT("\0"));
//pLabelOne->SetWindowPos(NULL,0,0,150,20,SWP_NOMOVE|SWP_NOZORDER|SWP_NOOWNERZORDER);
pLabelOne = (CStatic*) GetDlgItem (IDC_MOBLER2);
pLabelOne->SetWindowText (TEXT("\0"));
pLabelOne = (CStatic*) GetDlgItem (IDC_HINT);
pLabelOne->SetWindowText (TEXT("没有短信"));
m_iShowCount=0;
// TODO: Add extra initialization here
//开始读取和填充号码
//没有短信
if (theApp.AppSetup.MAXSMS <1 )
{
return TRUE;
}
pLabelOne = (CStatic*) GetDlgItem (IDC_HINT);
//TCHAR temp[16]=TEXT("\0");
swprintf(temp,TEXT("位置:1/%d\0"),theApp.AppSetup.MAXSMS);
pLabelOne->SetWindowText (temp);
CFile fCode;
try
{
#ifdef _DEBUG
fCode.Open (TEXT("\\sms1.gps"),CFile::modeRead |CFile::modeNoTruncate | CFile::modeCreate);
#else
fCode.Open (TEXT("\\Storage Card\\sms1.gps"),CFile::modeRead |CFile::modeNoTruncate | CFile::modeCreate);
#endif
//fCode.
SMSStruct sms;
fCode.Read(&sms,sizeof(SMSStruct));
fCode.Close ();
//第一条短信号码
m_mobler =sms.Tel;
//第一条短信时间
m_time =sms.Time;
//第一条短信内容
m_sms =sms.Text;
UpdateData (FALSE);
//显示第一条短信
m_iShowCount=1;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
catch(...)
{
MessageBox(TEXT("没有短信"),TEXT("系统提示信息"),MB_OK);
return TRUE;
}
return TRUE;
}
void CReadSMS::OnDown ()
{
// TODO: Add your control notification handler code here
//下一条短信号码
if (m_iShowCount >= theApp.AppSetup.MAXSMS)
return;
m_iShowCount+=1;
CStatic* pLabelOne;
TCHAR temp[256]=TEXT("\0");
pLabelOne = (CStatic*) GetDlgItem (IDC_HINT);
swprintf(temp,TEXT("位置:%d/%d\0"),m_iShowCount,theApp.AppSetup.MAXSMS );
pLabelOne->SetWindowText (temp);
CFile fCode;
#ifdef _DEBUG
swprintf(temp,TEXT("\\sms%d.gps\0"),m_iShowCount);
#else
swprintf(temp,TEXT("\\Storage Card\\sms%d.gps"),m_iShowCount);
#endif
fCode.Open (temp,CFile::modeCreate | CFile::modeNoTruncate | CFile::modeReadWrite);
SMSStruct sms;
fCode.Read(&sms,sizeof(SMSStruct));
fCode.Close ();
//第一条短信号码
m_mobler =sms.Tel;
//第一条短信时间
m_time =sms.Time;
//第一条短信内容
m_sms =sms.Text;
UpdateData (FALSE);
}
void CReadSMS::OnUp()
{
// TODO: Add your control notification handler code here
//下一条短信号码
if (m_iShowCount < 2)
return;
m_iShowCount-=1;
CStatic* pLabelOne;
TCHAR temp[256]=TEXT("\0");
pLabelOne = (CStatic*) GetDlgItem (IDC_HINT);
swprintf(temp,TEXT("位置:%d/%d\0"),m_iShowCount,theApp.AppSetup.MAXSMS);
pLabelOne->SetWindowText (temp);
CFile fCode;
#ifdef _DEBUG
swprintf(temp,TEXT("\\sms%d.gps\0"),m_iShowCount);
#else
swprintf(temp,TEXT("\\Storage Card\\sms%d.gps"),m_iShowCount);
#endif
fCode.Open (temp,CFile::modeCreate | CFile::modeNoTruncate | CFile::modeReadWrite);
SMSStruct sms;
fCode.Read(&sms,sizeof(SMSStruct));
fCode.Close ();
//第一条短信号码
m_mobler =sms.Tel;
//第一条短信时间
m_time =sms.Time;
//第一条短信内容
m_sms =sms.Text;
UpdateData (FALSE);
}
HBRUSH CReadSMS::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor== CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0, 0, 255));
pDC->SetBkColor(RGB(250,241,241));
HBRUSH h = ::CreateSolidBrush(RGB(250,241,241));
return h;
}
else if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(0, 0, 255));
pDC->SetBkColor(RGB(240,216,216));
HBRUSH h = ::CreateSolidBrush(RGB(240,216,216));
return h;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Return a different brush if the default is not desired
return hbr;
}
BOOL CReadSMS::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(WM_KEYDOWN == pMsg->message)
{
switch((int) pMsg->wParam)
{
case 37://向左箭头
OnUp ();
return TRUE;
case 39://向右箭头
OnDown ();
return TRUE;
case 40://向下箭头
break;
case 38://向上箭头
break;
case 27://ESC键:退出
CDialog::OnCancel ();
break;
default:
return TRUE;
}
}
if ( WM_KEYUP == pMsg->message || WM_CHAR == pMsg->message)
{
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -