📄 fixedmode.cpp
字号:
// FixedMode.cpp : implementation file
//
#include "stdafx.h"
#include "alfa.h"
#include "FixedMode.h"
#include "Main.h"
#include "Math.h"
#include "io.h"
#include "mccl.h"
#include "sys.h"
#define DATA_FILE _T("mode.bkp")
#define DATAGLB_FILE _T("dataglb.bkp")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFixedMode dialog
int flaginit;
CFixedMode::CFixedMode(CWnd* pParent /*=NULL*/)
: CDialog(CFixedMode::IDD, pParent)
{
//{{AFX_DATA_INIT(CFixedMode)
m_wait_main = 0.0;
m_wait_ass = 0.0;
m_waitz_main = 0.0;
m_waitz_ass = 0.0;
m_puty_main = 0.0;
m_putz_main = 0.0;
m_puty_ass = 0.0;
m_putz_ass = 0.0;
m_put2y_main = 0.0;
m_put2z_main = 0.0;
m_run_main = 0;
m_run_ass = 0;
m_waity = 0.0;
m_num = _T("Mod01");
//}}AFX_DATA_INIT
moveparam.speed_adv_ass=10;
moveparam.speed_back_ass=10;
moveparam.speed_up_ass=10;
moveparam.speed_down_ass=10;
moveparam.distance_x_ass=0;
moveparam.distance_z_ass=0;
moveparam.speed_adv_main=10;
moveparam.speed_back_main=10;
moveparam.speed_up_main=10;
moveparam.speed_down_main=10;
moveparam.distance_x_main=0;
moveparam.distance_z_main=0;
flagShow=0;
// DataTypeFix=0;
}
void CFixedMode::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFixedMode)
DDX_Control(pDX, IDC_STATIC21, m_prompt2);
DDX_Control(pDX, IDC_STATIC20, m_prompt1);
DDX_Control(pDX, IDC_EDIT20, m_edt20);
DDX_Control(pDX, IDC_EDIT19, m_edt19);
DDX_Control(pDX, IDC_EDIT17, m_edt17);
DDX_Control(pDX, IDC_EDIT14, m_edt14);
DDX_Control(pDX, IDC_EDIT13, m_edt13);
DDX_Control(pDX, IDC_EDIT12, m_edt12);
DDX_Control(pDX, IDC_EDIT11, m_edt11);
DDX_Control(pDX, IDC_EDIT9, m_edt9);
DDX_Control(pDX, IDC_EDIT8, m_edt8);
DDX_Control(pDX, IDC_EDIT5, m_edt5);
DDX_Control(pDX, IDC_EDIT2, m_edt2);
DDX_Control(pDX, IDC_LIST5, m_list5);
DDX_Text(pDX, IDC_EDIT2, m_wait_main);
DDX_Text(pDX, IDC_EDIT5, m_wait_ass);
DDX_Text(pDX, IDC_EDIT9, m_waitz_main);
DDX_Text(pDX, IDC_EDIT11, m_waitz_ass);
DDX_Text(pDX, IDC_EDIT12, m_puty_main);
DDX_Text(pDX, IDC_EDIT13, m_putz_main);
DDX_Text(pDX, IDC_EDIT14, m_puty_ass);
DDX_Text(pDX, IDC_EDIT17, m_putz_ass);
DDX_Text(pDX, IDC_EDIT19, m_put2y_main);
DDX_Text(pDX, IDC_EDIT20, m_put2z_main);
DDX_Text(pDX, IDC_EDIT8, m_waity);
DDX_CBIndex(pDX, IDC_COMBO1, m_run_main);
DDX_CBIndex(pDX, IDC_COMBO2, m_run_ass);
DDX_CBString(pDX, IDC_COMBO3, m_num);
// DDX_Text(pDX, IDC_EDIT1, m_mnumx_str);
// DDX_Text(pDX, IDC_EDIT26, m_mnumz_str);
// DDX_Text(pDX, IDC_EDIT28, m_mnumsy_str);
// DDX_Text(pDX, IDC_EDIT3, m_mnusx_str);
// DDX_Text(pDX, IDC_EDIT27, m_mnusz_str);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFixedMode, CDialog)
//{{AFX_MSG_MAP(CFixedMode)
ON_WM_LBUTTONDOWN()
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_BN_CLICKED(IDC_BUTTONRUN, OnButtonRUN)
ON_BN_CLICKED(IDC_BUTTONRESET, OnButtonRESET)
ON_BN_CLICKED(IDC_BUTTONMX, OnButtonMX)
ON_BN_CLICKED(IDC_BUTTONMZ1, OnButtonMZ1)
ON_BN_CLICKED(IDC_BUTTONMZ2, OnButtonMZ2)
ON_BN_CLICKED(IDC_BUTTONMZ3, OnButtonMZ3)
ON_BN_CLICKED(IDC_BUTTONSX, OnButtonSX)
ON_BN_CLICKED(IDC_BUTTONSZ1, OnButtonSZ1)
ON_BN_CLICKED(IDC_BUTTONSZ2, OnButtonSZ2)
ON_BN_CLICKED(IDC_BUTTONY1, OnButtonY1)
ON_BN_CLICKED(IDC_BUTTONY2, OnButtonY2)
ON_BN_CLICKED(IDC_BUTTONY3, OnButtonY3)
ON_BN_CLICKED(IDC_BUTTONY4, OnButtonY4)
ON_WM_SHOWWINDOW()
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
ON_WM_PAINT()
ON_CBN_SELCHANGE(IDC_COMBO3, OnSelchangeCombo3)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFixedMode message handlers
BOOL CFixedMode::OnInitDialog()
{
CDialog::OnInitDialog();
h_SkinDialog.SubClassDialog(m_hWnd);
// TODO: Add extra initialization here
CFont font;
font.CreatePointFont(200, "Arial");
GetDlgItem(IDC_COMBO1)->SetFont(&font);
GetDlgItem(IDC_COMBO2)->SetFont(&font);
FileDataType=0;
LoadRecords();
POSITION pos;
CModes * pmode;
CString key;
CMain * main=(CMain *)GetParent();
pos=m_Contacts.GetStartPosition();
while(pos) {
m_Contacts.GetNextAssoc(pos,key,pmode);
main->m_mode.SetAt(key,"fix");
}
pos=m_Contacts.GetStartPosition();
if(pos) {
m_Contacts.GetNextAssoc(pos,key,pmode);
if(pmode) LoadParam(pmode);
}
else Initialise();
DisplayMainGram();
DisplayAssGram();
flagShow=0;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFixedMode::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
UpdateData();
int g1=m_run_main;
CMain * main=(CMain *)GetParent();
if(point.y<270) {
if(g1==0) return;
switch(g1) {
case 1:
if(PtInRect(CRect(95,65,130,92),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdown->ShowWindow(TRUE);
}
else if(PtInRect(CRect(65,150,100,178),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadv->ShowWindow(TRUE);
}
else if(PtInRect(CRect(115,205,145,235),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbacks->ShowWindow(TRUE);
}
else if(PtInRect(CRect(195,110,225,140),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgups->ShowWindow(TRUE);
}
break;
case 2:
if(PtInRect(CRect(28,55,58,85),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdown->ShowWindow(TRUE);
}
else if(PtInRect(CRect(110,100,140,130),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgback->ShowWindow(TRUE);
}
else if(PtInRect(CRect(165,200,198,230),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvs->ShowWindow(TRUE);
}
else if(PtInRect(CRect(105,160,135,190),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgups->ShowWindow(TRUE);
}
break;
case 3:
if(PtInRect(CRect(27,122,57,152),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdown->ShowWindow(TRUE);
}
else if(PtInRect(CRect(114,200,147,235),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgback->ShowWindow(TRUE);
}
else if(PtInRect(CRect(170,103,203,139),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgups->ShowWindow(TRUE);
}
else if(PtInRect(CRect(114,50,146,82),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvs->ShowWindow(TRUE);
}
break;
case 4:
if(PtInRect(CRect(175,92,211,127),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdown->ShowWindow(TRUE);
}
else if(PtInRect(CRect(87,205,123,240),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadv->ShowWindow(TRUE);
}
else if(PtInRect(CRect(32,124,67,158),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgups->ShowWindow(TRUE);
}
else if(PtInRect(CRect(80,20,114,55),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbacks->ShowWindow(TRUE);
}
break;
}
}
else {
if(m_run_ass<1) return;
int g2=m_run_ass+10;
switch(g2) {
case 12:
if(PtInRect(CRect(95,322,130,356),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(64,408,98,444),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(110,465,145,498),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbacksass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(190,370,225,405),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
break;
case 11:
if(PtInRect(CRect(20,312,55,350),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(105,360,140,394),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbackass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(163,455,197,490),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvsass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(100,415,135,450),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
break;
case 14:
if(PtInRect(CRect(25,380,57,415),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(110,460,145,494),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbackass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(165,365,202,398),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
break;
case 13:
if(PtInRect(CRect(170,353,208,388),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(85,465,120,500),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(30,385,65,420),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(80,280,113,315),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbacksass->ShowWindow(TRUE);
}
break;
case 16:
if(PtInRect(CRect(95,325,130,358),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(63,410,100,445),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(112,465,146,500),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbacksass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(200,347,233,390),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
break;
case 15:
if(PtInRect(CRect(60,320,97,358),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(70,370,103,404),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbackass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(182,410,216,444),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvsass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(126,393,160,428),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
break;
case 17:
if(PtInRect(CRect(25,370,60,405),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(112,450,145,485),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbackass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(175,330,210,365),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
break;
case 18:
if(PtInRect(CRect(204,353,240,388),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgdownass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(118,465,154,500),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgadvass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(63,400,97,435),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgupsass->ShowWindow(TRUE);
}
else if(PtInRect(CRect(110,320,145,364),point)) {
flagShow=FALSE;
ShowWindow(FALSE);
main->dlgbacksass->ShowWindow(TRUE);
}
break;
}
}
CDialog::OnLButtonDown(nFlags, point);
}
//Exit
void CFixedMode::OnButton3()
{
// TODO: Add your control notification handler code here
if(m_CycleSt>0) {
if(MessageBox("祘Α刚笲锣い ! 絋﹚瞒秨 ?", "alfa",
MB_OKCANCEL|MB_ICONEXCLAMATION)==IDCANCEL) return;
else {
m_CycleSt=0;
// MCC_AbortMotion(0);
// MCC_AbortMotion(1);
// MCC_AbortMotion(2);
MCC_AbortMotionEx(MX_DecTime*0.1, GROUP_INDEX0);
MCC_AbortMotionEx(SX_DecTime*0.1, GROUP_INDEX1);
MCC_AbortMotionEx(Y_DecTime*0.1, GROUP_INDEX2);
if((wInput0 & 0x0001)>0) OUTPUT0=OUTPUT0 & ~0xD100;
else if((wInput0 & 0x4000)>0) OUTPUT0=OUTPUT0 & ~0x4000;
}
}
else if(MessageBox("絋﹚瞒秨 ? ", "alfa", MB_OKCANCEL|MB_ICONEXCLAMATION)==IDCANCEL)
return;
OUTPUT0=OUTPUT0 | 0x0200;
MCC_SetRIOOutputValue(OUTPUT0, RIO_SET1, RIO_PORT0, CARD_INDEX);
KillTimer(56);
DiagID=0;
ShowWindow(FALSE);
CMain * main=(CMain *)GetParent();
ShowWindow(FALSE);
main->dlgmainfrm->ShowWindow(TRUE);
}
//Setting
void CFixedMode::OnButton2()
{
// TODO: Add your control notification handler code here
flagShow=0;
ShowWindow(FALSE);
CMain * main=(CMain *)GetParent();
main->dlgmode->ShowWindow(TRUE);
}
BOOL CFixedMode::CanSerialize()
{
if(FileDataType==1) return (0==_access(DATAGLB_FILE, 10));
else return (0==_access(DATA_FILE, 10));
}
void CFixedMode::Serialize(CArchive& ar)
{
if(FileDataType==1) glb.Serialize(ar);
else m_Contacts.Serialize(ar);
}
void CFixedMode::LoadRecords()
{
if(CanSerialize()) {
CFile file;
CFileException fe;
if(FileDataType==1) {
if(file.Open(DATAGLB_FILE, CFile::typeBinary|CFile::modeRead, &fe)) {
CArchive ar(&file, CArchive::load);
Serialize(ar);
}
}
else {
if(file.Open(DATA_FILE, CFile::typeBinary|CFile::modeRead, &fe)) {
CArchive ar(&file, CArchive::load);
Serialize(ar);
}
}
}
}
void CFixedMode::SaveRecords()
{
BOOL bCanSave=FALSE;
UINT flag=CFile::typeBinary|CFile::modeWrite;
if(FileDataType==1) {
if(_access(DATAGLB_FILE, 0)) {
flag |=CFile::modeCreate;
bCanSave=TRUE;
}
else bCanSave=CanSerialize();
}
else {
if(_access(DATA_FILE, 0)) {
flag |=CFile::modeCreate;
bCanSave=TRUE;
}
else bCanSave=CanSerialize();
}
if(bCanSave) {
CFile file;
CFileException fe;
if(FileDataType==1) {
if(file.Open(DATAGLB_FILE, flag, &fe)) {
CArchive ar(&file, CArchive::store);
Serialize(ar);
}
}
else {
if(file.Open(DATA_FILE, flag, &fe)) {
CArchive ar(&file, CArchive::store);
Serialize(ar);
}
}
}
}
// Record
void CFixedMode::OnButton1()
{
// TODO: Add your control notification handler code here
CMain * main=(CMain *)GetParent();
if(UpdateData(TRUE)) {
CModes * pmode=NULL;
if(!m_Contacts.Lookup(m_num, pmode)) {
CString str;
if(main->m_mode.Lookup(m_num, str) && str=="teach") {
AfxMessageBox("ぃ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -