📄 config.cpp
字号:
// config.cpp : 僀儞僾儕儊儞僥乕僔儑儞 僼傽僀儖
//
#include "stdafx.h"
#include "demo.h"
#include "config.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include"MainFrm.h"
/////////////////////////////////////////////////////////////////////////////
// Cconfig 僟僀傾儘僌
Cconfig::Cconfig(CWnd* pParent /*=NULL*/)
: CDialog(Cconfig::IDD, pParent)
{
m_pParent=pParent;
m_nID=Cconfig::IDD;
//{{AFX_DATA_INIT(Cconfig)
m_printer_port = _T("");
m_if_freq = _T("");
m_i2c_speed = 0;
m_combo_i2c_speed = _T("");
//}}AFX_DATA_INIT
}
void Cconfig::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cconfig)
DDX_Text(pDX, IDC_COMBO_printer_port, m_printer_port);
DDX_Text(pDX, IDC_EDIT_if_freq, m_if_freq);
DDX_Slider(pDX, IDC_SLIDER_i2c_speed, m_i2c_speed);
DDX_CBString(pDX, IDC_COMBO_i2c_speed, m_combo_i2c_speed);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cconfig, CDialog)
//{{AFX_MSG_MAP(Cconfig)
ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SLIDER_i2c_speed, OnReleasedcaptureSLIDERi2cspeed)
ON_CBN_KILLFOCUS(IDC_COMBO_printer_port, OnKillfocusCOMBOprinterport)
ON_EN_KILLFOCUS(IDC_EDIT_if_freq, OnKillfocusEDITiffreq)
ON_BN_CLICKED(IDC_BUTTON_test, OnBUTTONtest)
ON_CBN_KILLFOCUS(IDC_COMBO_i2c_speed, OnKillfocusCOMBOi2cspeed)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cconfig 儊僢僙乕僕 僴儞僪儔
BOOL Cconfig::Create()
{
return CDialog::Create(m_nID,m_pParent);
}
BOOL Cconfig::OnInitDialog()
{
CDialog::OnInitDialog();
init_dialog();
set_dialog();
set_combo_i2c_speed();
return TRUE; // 僐儞僩儘乕儖偵僼僅乕僇僗傪愝掕偟側偄偲偒丄栠傝抣偼 TRUE 偲側傝傑偡
// 椺奜: OCX 僾儘僷僥傿 儁乕僕偺栠傝抣偼 FALSE 偲側傝傑偡
}
void Cconfig::OnOK()
{
((CMainFrame*)m_pParent)->BoxDone_config();
CDialog::OnOK();
}
void Cconfig::OnCancel()
{
((CMainFrame*)m_pParent)->BoxDone_config();
CDialog::OnCancel();
}
void Cconfig::init_dialog()
{
CSliderCtrl * pSC=(CSliderCtrl*)GetDlgItem(IDC_SLIDER_i2c_speed);
pSC->SetRange(1,10);
// pSC->SetTicFreq(10);
init_combo();
UpdateData(FALSE);
}
void Cconfig::OnReleasedcaptureSLIDERi2cspeed(NMHDR* pNMHDR, LRESULT* pResult)
{
get_dialog_i2c_speed();
// CString t; t.Format("%d",((CMainFrame*)m_pParent)->d[4]); MessageBox(t);
((CMainFrame*)m_pParent)->init_i2c();
*pResult = 0;
}
void Cconfig::set_dialog_i2c_speed()
{
CSliderCtrl * pSC=(CSliderCtrl*)GetDlgItem(IDC_SLIDER_i2c_speed);
pSC->SetRange(1,10);
//SC->SetPos(((CMainFrame*)m_pParent)->pi.I2C_SPEED);
pSC->SetPos( int( ((CMainFrame*)m_pParent)->d[4] ) );
//CString t; t.Format("%d",((CMainFrame*)m_pParent)->d[4]); MessageBox(t);
//UpdateData(FALSE);
}
void Cconfig::get_dialog_i2c_speed()
{
UpdateData(TRUE);
((CMainFrame*)m_pParent)->d[4]=m_i2c_speed;
//((CMainFrame*)m_pParent)->pi.I2C_SPEED=m_i2c_speed;
// CString t; t.Format("%d",m_i2c_speed); MessageBox(t);
}
void Cconfig::set_dialog()
{
set_dialog_i2c_speed();
m_printer_port.Format(" %.4X",((CMainFrame*)m_pParent)->d[10]);
// m_printer_port.Format("%.4X",((CMainFrame*)m_pParent)->pi.PORT_ADDRESS);
// m_if_freq.Format("%.3lf",double(((CMainFrame*)m_pParent)->pt.if_freq)/1.e6);
UpdateData(FALSE);
}
void Cconfig::get_dialog()
{
UpdateData(TRUE);
int data;
double data_double;
sscanf(m_printer_port, "%X", &data );
// ((CMainFrame*)m_pParent)->pi.PORT_ADDRESS=data;
((CMainFrame*)m_pParent)->d[10]=data;
((CMainFrame*)m_pParent)->init_i2c();
sscanf(m_if_freq, "%lf", &data_double );
((CMainFrame*)m_pParent)->pt.if_freq=long(data_double*1.e6);
}
void Cconfig::OnKillfocusCOMBOprinterport()
{
get_dialog();
set_dialog();
}
void Cconfig::OnKillfocusEDITiffreq()
{
get_dialog();
set_dialog();
}
void Cconfig::init_combo()
{
CString t;
//V0.01[050802]
long port_address[10]={0x3BC,0x378,0x278};
CComboBox* pCB=(CComboBox*)GetDlgItem(IDC_COMBO_printer_port);
int i=0;
for(i=0;i<3;i++)
{
t.Format("%.4X",port_address[i]);
pCB->AddString(t);
}
//i2c_speed
CComboBox* pCB_i2c_speed=(CComboBox*)GetDlgItem(IDC_COMBO_i2c_speed);
for(i=0;i<=10;i++)
{
t.Format("%d",i);
pCB_i2c_speed->AddString(t);
}
}
void Cconfig::OnBUTTONtest()
{
set_dialog_i2c_speed();
UpdateData(FALSE);
}
void Cconfig::set_combo_i2c_speed()
{
m_combo_i2c_speed.Format(" %d",((CMainFrame*)m_pParent)->d[4]);
UpdateData(FALSE);
}
void Cconfig::get_combo_i2c_speed()
{
UpdateData(TRUE);
int data;
sscanf(m_combo_i2c_speed, "%d", &data );
((CMainFrame*)m_pParent)->d[4]=data;
}
void Cconfig::OnKillfocusCOMBOi2cspeed()
{
get_combo_i2c_speed();
set_combo_i2c_speed();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -