📄 irdadialog.cpp
字号:
// IRDADialog.cpp : implementation file
//
#include "stdafx.h"
#include "dvp.h"
#include "IRDADialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CIRDADialog dialog
CIRDADialog::CIRDADialog(CWnd* pParent /*=NULL*/)
: CDialog(CIRDADialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CIRDADialog)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CIRDADialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CIRDADialog)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CIRDADialog, CDialog)
//{{AFX_MSG_MAP(CIRDADialog)
ON_BN_CLICKED(IDC_IRDA_SET, OnIrdaSet)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CIRDADialog message handlers
BOOL CIRDADialog::OnInitDialog()
{
CDialog::OnInitDialog();
//设置红外波形显示
m_IRDA_CurveDev = new CurveDevice(this);
m_IRDA_CurveDev->SetWindowPos(NULL,20,20,1,100,SWP_NOSIZE);
m_IRDA_CurveDev->CD_SetWorkMode(CD_REALTIME);
m_IRDA_CurveDev->CD_SetTimer(100);
m_IRDA_CurveDev->CD_SetMaxNumber(15);
m_IRDA_CurveDev->CD_SetRecordLength(300);
m_IRDA_CurveDev->CD_SetPlaceMode(CD_HORIZONTAL);
//设置比较器波形显示
m_COMP_CurveDev = new CurveDevice(this);
m_COMP_CurveDev->SetWindowPos(NULL,20,170,1,100,SWP_NOSIZE);
m_COMP_CurveDev->CD_SetWorkMode(CD_REALTIME);
m_COMP_CurveDev->CD_SetTimer(100);
m_COMP_CurveDev->CD_SetMaxNumber(15);
m_COMP_CurveDev->CD_SetRecordLength(300);
m_COMP_CurveDev->CD_SetPlaceMode(CD_HORIZONTAL);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//处理命令
bool CIRDADialog::DealCmd(const unsigned char * cmd)
{
unsigned char data = cmd[3];
unsigned char dev = cmd[2];
if(dev == 0x06) //红外设备号为6
{
if(data == 0)
{
m_IRDA_CurveDev->CD_SetCurrentNumber(0);
}
else if(data == 1)
{
m_IRDA_CurveDev->CD_SetCurrentNumber(10);
}
}
if(dev == 0x09) //比较器设备号为8
{
if(data == 0)
{
m_COMP_CurveDev->CD_SetCurrentNumber(0);
}
else if(data == 1)
{
m_COMP_CurveDev->CD_SetCurrentNumber(10);
}
}
return true;
}
void CIRDADialog::OnCancel()
{
CDialog::OnCancel();
}
//响应红外状态写事件
void CIRDADialog::OnIrdaSet()
{
unsigned char enabled = 0;
CButton * ck = NULL;
ck = (CButton *)this->GetDlgItem(IDC_IRDA_CHECK);
if(ck->GetCheck())
enabled = 1;
unsigned char buf[] = {0x08,0x04,0x81,0x06,enabled,0x00,0x09};
buf[5] = MakeVerify(&buf[1] , 4);
DvpView->SendData(buf , 7);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -