?? cardconfig.cpp
字號:
// cardConfig.cpp : implementation file
//
#include "stdafx.h"
#include "alfa.h"
#include "cardConfig.h"
#include "Main.h"
#include "io.h"
#define DATA_FILE _T("public.bkp")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CcardConfig dialog
CcardConfig::CcardConfig(CWnd* pParent /*=NULL*/)
: CDialog(CcardConfig::IDD, pParent)
{
//{{AFX_DATA_INIT(CcardConfig)
m_irq = 7;
m_interpolate = 5;
m_address = _T("240");
//}}AFX_DATA_INIT
}
void CcardConfig::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CcardConfig)
DDX_Control(pDX, IDC_EDIT3, m_edt3);
DDX_Control(pDX, IDC_EDIT2, m_edt2);
DDX_Control(pDX, IDC_EDIT1, m_edt1);
DDX_Text(pDX, IDC_EDIT2, m_irq);
DDX_Text(pDX, IDC_EDIT3, m_interpolate);
DDX_Text(pDX, IDC_EDIT1, m_address);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CcardConfig, CDialog)
//{{AFX_MSG_MAP(CcardConfig)
ON_WM_SHOWWINDOW()
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_BN_CLICKED(IDC_BUTTON1, OnBtnOk)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CcardConfig message handlers
void CcardConfig::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);
// TODO: Add your message handler code here
if(bShow!=1) return;
CMain * main=(CMain *)GetParent();
main->dlgcur=this;
if(CanSerialize())
{
LoadRecords();
m_address.Format("%x", m_public.m_address);
m_irq=m_public.m_irq;
m_interpolate=m_public.m_interpolate ;
UpdateData(FALSE);
}
}
void CcardConfig::OnButton2()
{
// TODO: Add your control notification handler code here
CMain * main=(CMain *)GetParent();
ShowWindow(FALSE);
main->dlgsysparamsel->ShowWindow(TRUE);
}
BOOL CcardConfig::CanSerialize()
{
// return(0==_access(DATA_FILE,1));
return(0==_access(DATA_FILE, 6));
}
void CcardConfig::Serialize(CArchive& ar)
{
m_public.Serialize(ar);
}
void CcardConfig::LoadRecords()
{
if(CanSerialize())
{
CFile file;
CFileException fe;
if(file.Open(DATA_FILE,CFile::modeRead|CFile::typeBinary,&fe))
{
CArchive ar(&file,CArchive::load);
Serialize(ar);
}
}
}
void CcardConfig::OnBtnOk()
{
// TODO: Add your control notification handler code here
UpdateData();
m_public.m_address =_tcstol(m_address,NULL,16);
m_public.m_irq=m_irq;
m_public.m_interpolate =m_interpolate;
CMain * main=(CMain *)GetParent();
main->dlgmotion->UpdateData();
m_public.m_maxspeed=main->dlgmotion->m_speed;
m_public.m_acctime=main->dlgmotion->m_acctime;
m_public.m_dectime=main->dlgmotion->m_dectime;
m_public.m_unit=main->dlgmotion->m_unit+1;
m_public.m_coordtype =main->dlgmotion->m_coordtype;
if(main->dlgmotion->m_acctype==0)
m_public.m_acctype='T';
else
m_public.m_dectype='S';
if(main->dlgmotion->m_dectype==0)
m_public.m_dectype='T';
else
m_public.m_dectype='S';
SaveRecords();
ShowWindow(FALSE);
main->dlgsysparamsel->ShowWindow(TRUE);
}
void CcardConfig::SaveRecords()
{
UINT flag=CFile::modeWrite|CFile::typeBinary;
BOOL canSave=FALSE;
if(_access(DATA_FILE,0))
{
flag|=CFile::modeCreate;
canSave=TRUE;
}
else
canSave=CanSerialize();
if(canSave)
{
CFile file;
CFileException fe;
if(file.Open(DATA_FILE,flag,&fe))
{
CArchive ar(&file,CArchive::store);
Serialize(ar);
}
}
}
BOOL CcardConfig::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
h_SkinDialog.SubClassDialog(m_hWnd);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -