📄 plc11indlg.cpp
字号:
// Plc11InDlg.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "Plc11InDlg.h"
#include "FLADS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPlc11InDlg dialog
extern CFLADSApp theApp;
CPlc11InDlg::CPlc11InDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPlc11InDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CPlc11InDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CPlc11InDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPlc11InDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Control(pDX, IDC_PART8, m_pin8);
DDX_Control(pDX, IDC_PART7, m_pin7);
DDX_Control(pDX, IDC_PART6, m_pin6);
DDX_Control(pDX, IDC_PART5, m_pin5);
DDX_Control(pDX, IDC_PART4, m_pin4);
DDX_Control(pDX, IDC_PART3, m_pin3);
DDX_Control(pDX, IDC_PART2, m_pin2);
DDX_Control(pDX, IDC_PART1, m_pin1);
DDX_Control(pDX, IDC_NENABLE, m_nenable);
DDX_Control(pDX, IDC_SET_ENABLE, m_set_enable);
DDX_Control(pDX, IDC_OR_ENABLE, m_or_enable);
DDX_Control(pDX, IDC_CLR_ENABLE, m_clr_enable);
DDX_Control(pDX, IDC_AND_ENABLE, m_and_enable);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPlc11InDlg, CDialog)
//{{AFX_MSG_MAP(CPlc11InDlg)
ON_WM_DESTROY()
ON_BN_CLICKED(IDC_AND_ENABLE, OnAndEnable)
ON_BN_CLICKED(IDC_OR_ENABLE, OnOrEnable)
ON_BN_CLICKED(IDC_SET_ENABLE, OnSetEnable)
ON_BN_CLICKED(IDC_CLR_ENABLE, OnClrEnable)
ON_BN_CLICKED(IDC_NENABLE, OnNenable)
ON_EN_CHANGE(IDC_UNIT_NUM, OnChangeUnitNum)
ON_BN_CLICKED(IDC_PART1, OnPart1)
ON_BN_CLICKED(IDC_PART2, OnPart2)
ON_BN_CLICKED(IDC_PART3, OnPart3)
ON_BN_CLICKED(IDC_PART4, OnPart4)
ON_BN_CLICKED(IDC_PART5, OnPart5)
ON_BN_CLICKED(IDC_PART6, OnPart6)
ON_BN_CLICKED(IDC_PART7, OnPart7)
ON_BN_CLICKED(IDC_PART8, OnPart8)
ON_EN_CHANGE(IDC_EDITP2, OnChangeEditp2)
ON_EN_CHANGE(IDC_EDITP3, OnChangeEditp3)
ON_EN_CHANGE(IDC_EDITP4, OnChangeEditp4)
ON_EN_CHANGE(IDC_EDITP5, OnChangeEditp5)
ON_EN_CHANGE(IDC_EDITP6, OnChangeEditp6)
ON_EN_CHANGE(IDC_EDITP7, OnChangeEditp7)
ON_EN_CHANGE(IDC_EDITP8, OnChangeEditp8)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPlc11InDlg message handlers
BOOL CPlc11InDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
int i;
CString string;
switch(theApp.yxtask.con_in[theApp.krnum].B.log_enable)
{
case 0:m_and_enable.SetCheck(1);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(0);
break;
case 1:m_and_enable.SetCheck(0);
m_or_enable.SetCheck(1);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(0);
break;
case 2:m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(1);
m_clr_enable.SetCheck(0);
break;
case 3:m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(1);
break;
}
m_nenable.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.kgbf);
i=(int)theApp.yxtask.con_in[theApp.krnum].B.unit_num;
string.Format(_T("%3d"),i+1);
SetDlgItemText(IDC_UNIT_NUM,string);
m_pin1.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u0_kgbf);
m_pin2.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u1_kgbf);
m_pin3.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u2_kgbf);
m_pin4.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u3_kgbf);
m_pin5.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u4_kgbf);
m_pin6.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u5_kgbf);
m_pin7.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u6_kgbf);
m_pin8.SetCheck((int)theApp.yxtask.con_in[theApp.krnum].B.u7_kgbf);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][0]+1);
SetDlgItemText(IDC_EDITP1,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][1]+1);
SetDlgItemText(IDC_EDITP2,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][2]+1);
SetDlgItemText(IDC_EDITP3,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][3]+1);
SetDlgItemText(IDC_EDITP4,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][4]+1);
SetDlgItemText(IDC_EDITP5,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][5]+1);
SetDlgItemText(IDC_EDITP6,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][6]+1);
SetDlgItemText(IDC_EDITP7,string);
string.Format(_T("%3d"),(int)theApp.yxtask.us[theApp.krnum][7]+1);
SetDlgItemText(IDC_EDITP8,string);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPlc11InDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
}
void CPlc11InDlg::OnAndEnable()
{//与门
// TODO: Add your control notification handler code here
if((m_and_enable.GetCheck()%2)!=0)
{
m_and_enable.SetCheck(1);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(0);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=0;
}else
{
m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(1);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=3;
}
}
void CPlc11InDlg::OnOrEnable()
{//或门
// TODO: Add your control notification handler code here
if((m_or_enable.GetCheck()%2)!=0)
{
m_and_enable.SetCheck(0);
m_or_enable.SetCheck(1);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(0);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=1;
}else
{
m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(1);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=3;
}
}
void CPlc11InDlg::OnSetEnable()
{//设置
// TODO: Add your control notification handler code here
if((m_set_enable.GetCheck()%2)!=0)
{
m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(1);
m_clr_enable.SetCheck(0);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=2;
}else
{
m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(1);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=3;
}
}
void CPlc11InDlg::OnClrEnable()
{//清零
// TODO: Add your control notification handler code here
if((m_clr_enable.GetCheck()%2)!=0)
{
m_and_enable.SetCheck(0);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(1);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=3;
}else
{
m_and_enable.SetCheck(1);
m_or_enable.SetCheck(0);
m_set_enable.SetCheck(0);
m_clr_enable.SetCheck(0);
theApp.yxtask.con_in[theApp.krnum].B.log_enable=0;
}
}
void CPlc11InDlg::OnNenable()
{//取反
// TODO: Add your control notification handler code here
if((m_nenable.GetCheck()%2)!=0)
{
m_nenable.SetCheck(1);
theApp.yxtask.con_in[theApp.krnum].B.kgbf=1;
}else
{
m_nenable.SetCheck(0);
theApp.yxtask.con_in[theApp.krnum].B.kgbf=0;
}
}
void CPlc11InDlg::OnChangeUnitNum()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function to send the EM_SETEVENTMASK message to the control
// with the ENM_CHANGE flag ORed into the lParam mask.
// TODO: Add your control notification handler code here
unsigned short wBuf[32];
int j;
CString string;
GetDlgItemText(IDC_UNIT,wBuf,20);
j=_wtoi(wBuf);
if(j>8) j=8;
if(j<=0) j=1;
theApp.yxtask.con_in[theApp.krnum].B.unit_num=j-1;
string.Format(_T("%3d"),j);
SetDlgItemText(IDC_UNIT,string);
}
void CPlc11InDlg::OnPart1()
{//子项1
// TODO: Add your control notification handler code here
if((m_pin1.GetCheck()%2)!=0)
{
m_pin1.SetCheck(1);
theApp.yxtask.con_in[theApp.krnum].B.u0_kgbf=1;
}else
{
m_pin1.SetCheck(0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -