?? dlgstartcheck.cpp
字號:
// DlgStartCheck.cpp : 實現文件
//
#include "stdafx.h"
#include "Temperature.h"
#include "DlgStartCheck.h"
#include "ErrorCode.h"
#include <time.h>
// CDlgStartCheck 對話框
IMPLEMENT_DYNAMIC(CDlgStartCheck, CDialog)
CDlgStartCheck::CDlgStartCheck(CWnd* pParent /*=NULL*/)
: CDialog(CDlgStartCheck::IDD, pParent)
, m_valInterval(1)
, m_valTemperature(25.0)
, m_valDataTime(0.0)
, m_valTime(0)
, m_nTemp2(0)
, m_pDeviceClient(NULL)
, m_CardID(0)
, m_IsStartSuccess( FALSE )
{
}
CDlgStartCheck::~CDlgStartCheck()
{
}
void CDlgStartCheck::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_INTERVAL, m_valInterval);
DDX_Text(pDX, IDC_EDIT_WARN_TEMPERATURE, m_valTemperature);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER_DAY, m_valDataTime);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER_TIME, m_valTime);
DDX_Control(pDX, IDC_SPIN1, m_spin);
DDX_Text(pDX, IDC_EDIT_WARN_TEMPERATURE2, m_nTemp2);
DDX_Control(pDX, IDC_EDIT_INTERVAL, m_edit1);
DDX_Control(pDX, IDC_EDIT_WARN_TEMPERATURE, m_edit2);
DDX_Control(pDX, IDC_EDIT_WARN_TEMPERATURE2, m_edit3);
}
BEGIN_MESSAGE_MAP(CDlgStartCheck, CDialog)
// ON_NOTIFY(NM_THEMECHANGED, IDC_SPIN1, &CDlgStartCheck::OnNMThemeChangedSpin1)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1, &CDlgStartCheck::OnDeltaposSpin1)
ON_BN_CLICKED(IDOK, &CDlgStartCheck::OnBnClickedOk)
END_MESSAGE_MAP()
// CDlgStartCheck 消息處理程序
long CDlgStartCheck::GetInterval()
{
return m_valInterval;
}
float CDlgStartCheck::GetWarningTemperature()
{
return m_valTemperature;
}
void CDlgStartCheck::GetTimeData(
unsigned char* year, unsigned char* month, unsigned char* day,
unsigned char* hour, unsigned char* minute )
{
int nHour = m_valTime.GetHour();
int nMinute = m_valTime.GetMinute();
int nYear = m_valDataTime.GetYear();
int nMonth = m_valDataTime.GetMonth();
int nDay = m_valDataTime.GetDay();
*year = (unsigned char)( nYear % 2000 );
*month = (unsigned char)( nMonth );
*day = (unsigned char)( nDay );
*hour = (unsigned char)( nHour );
*minute = (unsigned char)( nMinute );
}
BOOL CDlgStartCheck::OnInitDialog()
{
CDialog::OnInitDialog();
m_IsStartSuccess = FALSE;
if( theApp.m_Lang == 0 )
{
SetWindowText( _T("設置") );
}
m_spin.SetBuddy( &m_edit1 );
SYSTEMTIME tm;
GetLocalTime( &tm );
m_valDataTime = CTime(tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond );
m_valTime = CTime(tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond );
SetLang( theApp.m_Lang );
UpdateData( FALSE );
return TRUE; // return TRUE unless you set the focus to a control
}
//void CDlgStartCheck::OnNMThemeChangedSpin1(NMHDR *pNMHDR, LRESULT *pResult)
//{
// // 該功能要求使用 Windows XP 或更高版本。
// // 符號 _WIN32_WINNT 必須 >= 0x0501。
// // TODO: 在此添加控件通知處理程序代碼
// *pResult = 0;
//}
void CDlgStartCheck::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
if( pNMUpDown->iDelta == -1 ) // up
{
m_valInterval++;
}
else
{
m_valInterval--;
}
if( m_valInterval <=0 )
{
m_valInterval = 1;
}
UpdateData( FALSE );
*pResult = 0;
}
void CDlgStartCheck::OnBnClickedOk()
{
CString str;
UINT nLangRCSuccess = IDS_STR_SET_STARTCHECK_NOERROR;
UINT nLangRCFailed = IDS_STR_SET_STARTCHECK;
if( theApp.m_Lang == 0 )
{
nLangRCSuccess = IDS_STR_SET_STARTCHECK_NOERROR_CH;
nLangRCFailed = IDS_STR_SET_STARTCHECK_CH;
}
this->UpdateData();
if( m_pDeviceClient && m_CardID != 0 )
{
U32 u32Ret = -1;
unsigned char nYear, nMonth, nDay, nHour, nMinute;
unsigned short nInterval;
unsigned char nWarningTemperature;
nInterval = (unsigned short)GetInterval();
nWarningTemperature = (unsigned char)GetWarningTemperature();
GetTimeData( &nYear, &nMonth, &nDay, &nHour, &nMinute );
CARD_TIME CardTime;
CardTime.u8Year = nYear;
CardTime.u8Month = nMonth;
CardTime.u8Day = nDay;
CardTime.u8Hour = nHour;
CardTime.u8Minute = nMinute;
do
{
u32Ret = m_pDeviceClient->SetCheckTimeInterval( m_CardID, nInterval );
if( u32Ret != RETURN_NO_ERROR ) break;
//u32Ret = pDeviceClient->SetWarningData( CardID, nWarningTemperature, 1 );
//if( u32Ret != RETURN_NO_ERROR ) break;
u32Ret = m_pDeviceClient->SetStartTime( m_CardID, 0, &CardTime );
} while( 0 );
if( u32Ret != RETURN_NO_ERROR )
{
str.LoadString( nLangRCFailed );
}
else
{
m_IsStartSuccess = TRUE;
str.LoadString( nLangRCSuccess );
}
}
else
{
str.LoadString( nLangRCSuccess );
}
MessageBox( str );
}
void CDlgStartCheck::SetLang(char nLang)
{
if( nLang == 0 )
{
CString str;
str.LoadString( IDS_STR_DIALOG2_INTERVAL );
GetDlgItem( IDC_STATIC_INTERVAL )->SetWindowText( str );
str.LoadString( IDS_STR_DIALOG2_LIMIT );
GetDlgItem( IDC_STATIC_LIMIT )->SetWindowText( str );
str.LoadString( IDS_STR_DIALOG2_LIMIT2 );
GetDlgItem( IDC_STATIC_LOWER )->SetWindowText( str );
str.LoadString( IDS_STR_DIALOG2_TIME );
GetDlgItem( IDC_STATIC_START )->SetWindowText( str );
str.LoadString( IDS_STR_OK );
GetDlgItem( IDOK )->SetWindowText( str );
str.LoadString( IDS_STR_CANCEL );
GetDlgItem( IDCANCEL )->SetWindowText( str );
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -