📄 paraplane.cpp
字号:
// PARAPLANE.cpp : implementation file
//
#include "stdafx.h"
#include "knc_mis.h"
#include "PARAPLANE.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPARAPLANE dialog
CPARAPLANE::CPARAPLANE(CWnd* pParent /*=NULL*/)
: CDialog(CPARAPLANE::IDD, pParent)
{
//{{AFX_DATA_INIT(CPARAPLANE)
m_sMotorspeed = _T("");
m_sCutdepth = _T("");
m_sFeedrate = _T("");
m_sRoughness = _T("");
m_sPismaterial = _T("");
m_sTool = _T("");
m_sPismaterialneed = _T("");
m_sToolneed = _T("");
m_sID = _T("");
m_sRoughnessneed = _T("");
//}}AFX_DATA_INIT
}
void CPARAPLANE::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPARAPLANE)
DDX_Control(pDX, IDC_LIST3, m_Planeresultlist);
DDX_Control(pDX, IDC_LIST2, m_Planelist);
DDX_Text(pDX, IDC_EDIT5, m_sMotorspeed);
DDX_Text(pDX, IDC_EDIT3, m_sCutdepth);
DDX_Text(pDX, IDC_EDIT6, m_sFeedrate);
DDX_Text(pDX, IDC_EDIT20, m_sRoughness);
DDX_Text(pDX, IDC_EDIT18, m_sPismaterial);
DDX_Text(pDX, IDC_EDIT21, m_sTool);
DDX_Text(pDX, IDC_EDIT15, m_sPismaterialneed);
DDX_Text(pDX, IDC_EDIT16, m_sToolneed);
DDX_Text(pDX, IDC_EDIT1, m_sID);
DDX_Text(pDX, IDC_EDIT2, m_sRoughnessneed);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPARAPLANE, CDialog)
//{{AFX_MSG_MAP(CPARAPLANE)
ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
ON_BN_CLICKED(IDC_PlaneAdd, OnPlaneAdd)
ON_BN_CLICKED(IDC_PlaneDelete, OnPlaneDelete)
ON_BN_CLICKED(IDC_PlaneModify, OnPlaneModify)
ON_BN_CLICKED(IDC_PlaneQuery, OnPlaneQuery)
ON_BN_CLICKED(IDC_PlaneSave, OnPlaneSave)
ON_BN_CLICKED(IDC_PlaneClear, OnPlaneClear)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPARAPLANE message handlers
void CPARAPLANE::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData(true);
POSITION pos = m_Planelist.GetFirstSelectedItemPosition();
if(pos)
{
int nFirstSelItem = m_Planelist.GetNextSelectedItem(pos);
m_sID=m_Planelist.GetItemText(nFirstSelItem,0);
m_sMotorspeed=m_Planelist.GetItemText(nFirstSelItem,1);
m_sCutdepth=m_Planelist.GetItemText(nFirstSelItem,2);
m_sFeedrate=m_Planelist.GetItemText(nFirstSelItem,3);
m_sRoughness=m_Planelist.GetItemText(nFirstSelItem,4);
m_sPismaterial=m_Planelist.GetItemText(nFirstSelItem,5);
m_sTool=m_Planelist.GetItemText(nFirstSelItem,6);
//还差一个图片的显示
}
//AfxMessageBox(str);
bt_delete->EnableWindow(true);
bt_modify->EnableWindow(true);
UpdateData(false);
*pResult = 0;
}
void CPARAPLANE::OnPlaneAdd()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_sID="";
m_sCutdepth="";
m_sFeedrate="";
m_sMotorspeed="";
m_sPismaterial="";
m_sPismaterialneed="";
m_sRoughness="";
m_sRoughnessneed="";
m_sTool="";
m_sToolneed="";
tx_Cutdepth->EnableWindow(true);
tx_Feedrate->EnableWindow(true);
tx_Motorspeed->EnableWindow(true);
tx_Pismaterial->EnableWindow(true);
tx_Roughness->EnableWindow(true);
tx_Tool->EnableWindow(true);
tx_ID->EnableWindow(true);
flag=1;
bt_save->EnableWindow(true);
bt_add->EnableWindow(false);
bt_modify->EnableWindow(false);
bt_delete->EnableWindow(false);
UpdateData(false);
}
void CPARAPLANE::OnPlaneDelete()
{
// TODO: Add your control notification handler code here
// Del Records
_variant_t strQuery;
strQuery = "select * from paraplane";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
POSITION pos = m_Planelist.GetFirstSelectedItemPosition();
if ( pos == NULL )
{
AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
return;
}
else
{
int iItem;
CString sID;
while (pos)
{
iItem = m_Planelist.GetNextSelectedItem(pos);
sID= m_Planelist.GetItemText(iItem, 0);
strQuery = "delete from paraplane where id='"+sID+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
m_Planelist.DeleteItem(iItem);
}
}
m_sID="";
m_sCutdepth="";
m_sFeedrate="";
m_sMotorspeed="";
m_sPismaterial="";
m_sPismaterialneed="";
m_sRoughness="";
m_sRoughnessneed="";
m_sTool="";
m_sToolneed="";
bt_delete->EnableWindow(false);
bt_modify->EnableWindow(false);
UpdateData(false);
}
void CPARAPLANE::OnPlaneModify()
{
// TODO: Add your control notification handler code here
tx_Cutdepth->EnableWindow(true);
tx_Feedrate->EnableWindow(true);
tx_Motorspeed->EnableWindow(true);
tx_Pismaterial->EnableWindow(true);
tx_Roughness->EnableWindow(true);
tx_Tool->EnableWindow(true);
tx_ID->EnableWindow(true);
flag=2;
bt_save->EnableWindow(true);
bt_delete->EnableWindow(false);
bt_modify->EnableWindow(false);
}
void CPARAPLANE::OnPlaneQuery()
{
// TODO: Add your control notification handler code here
UpdateData(true);
_variant_t strQuery,Holder;
strQuery = "select * from paraplane where planear='"+m_sRoughnessneed+"' and wpmaterial='"+m_sPismaterialneed+"' and toolmaterial='"+m_sToolneed+"' order by planear asc";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
CString str;
int iCounta = theApp.m_pADOSet->GetRecordCount();
if (0==iCounta)
{ AfxMessageBox(_T("没有相关记录!"), MB_ICONEXCLAMATION);
return;
}
theApp.m_pADOSet->MoveFirst();
for (int k=0; k<iCounta; k++)
{ // Get spindle
Holder = theApp.m_pADOSet->GetCollect("motorspindle");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planeresultlist.InsertItem(k, str);
// Get cutdepth
Holder = theApp.m_pADOSet->GetCollect("cutdepth");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planeresultlist.SetItemText(k, 1, str);
// Get feedrate
Holder = theApp.m_pADOSet->GetCollect("feedrate");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planeresultlist.SetItemText(k, 2, str);
theApp.m_pADOSet->MoveNext();
}
UpdateData(false);
}
void CPARAPLANE::OnPlaneSave()
{
// TODO: Add your control notification handler code here
UpdateData(true);
// Make sure all needed info is available
CString sWarning="";
if ( ""==m_sID ) sWarning=_T("编号");
else if ( ""==m_sCutdepth) sWarning=_T("切削深度");
else if ( ""==m_sFeedrate) sWarning=_T("进给量");
else if ( ""==m_sMotorspeed) sWarning=_T("电主轴转速");
if ( ""!=sWarning )
{
sWarning += _T("不能为空");
AfxMessageBox(sWarning, MB_ICONEXCLAMATION);
return;
}
_variant_t strQuery;
if(flag==1) //添加记录
{
// Judge ID is unique
strQuery = "select * from paraplane where id='"+m_sID+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0!=iCount )
{
AfxMessageBox(_T("已经存在此刀具记录!"), MB_ICONEXCLAMATION);
return;
}
}
else if(flag==2)//修改
{ //删除旧记录
strQuery = "delete from paraplane where id='"+m_sID+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
}
// Insert Record
strQuery = "insert paraplane (id, motorspindle, cutdepth,feedrate,planear,wpmaterial,toolmaterial) \
values ('"+m_sID+"', '"+m_sMotorspeed+"', '"+m_sCutdepth+"','"+m_sFeedrate+"','"+m_sRoughness+"','"+m_sPismaterial+"','"+m_sTool+"')";
int iItem;
POSITION pos = m_Planelist.GetFirstSelectedItemPosition();
iItem = m_Planelist.GetNextSelectedItem(pos);
m_Planelist.DeleteItem(iItem);
//更新列表框数据
int j;
j=m_Planelist.GetItemCount();
m_Planelist.InsertItem(j, m_sID);
m_Planelist.SetItemText(j, 1 , m_sMotorspeed);
m_Planelist.SetItemText(j, 2 , m_sCutdepth);
m_Planelist.SetItemText(j, 3 , m_sFeedrate);
m_Planelist.SetItemText(j, 4 , m_sRoughness);
m_Planelist.SetItemText(j, 5 , m_sPismaterial);
m_Planelist.SetItemText(j, 6 , m_sTool);
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
{
if (flag==1)
{
AfxMessageBox(_T("添加加工用量信息成功!"), MB_ICONINFORMATION);
// Clear all input
m_sID=m_sMotorspeed=m_sCutdepth=m_sFeedrate=m_sRoughness=m_sPismaterial=m_sTool="";
UpdateData(false);
}
else AfxMessageBox(_T("修改加工用量信息成功!"), MB_ICONINFORMATION);
}
else
{
if (flag==1) AfxMessageBox(_T("添加加工用量信息失败!"), MB_ICONEXCLAMATION);
else AfxMessageBox(_T("修改加工用量信息失败!"), MB_ICONEXCLAMATION);
}
tx_Cutdepth->EnableWindow(false);
tx_Feedrate->EnableWindow(false);
tx_Motorspeed->EnableWindow(false);
tx_Pismaterial->EnableWindow(false);
tx_Roughness->EnableWindow(false);
tx_Tool->EnableWindow(false);
tx_ID->EnableWindow(false);
bt_add->EnableWindow(true);
bt_save->EnableWindow(false);
bt_modify->EnableWindow(false);
bt_delete->EnableWindow(false);
}
BOOL CPARAPLANE::OnInitDialog()
{
CDialog::OnInitDialog();
_variant_t strQuery, Holder;
CString str;
DWORD style;
style=m_Planelist.GetExStyle();
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
m_Planelist.SetExtendedStyle(style);
m_Planeresultlist.SetExtendedStyle(style);
m_sOldID = m_sID;
// Set Color
//m_Codelist.SetBkColor(RGB(177, 151, 240));
// m_Codelist.SetTextColor(RGB(0,0,0));
// m_Codelist.SetTextBkColor(RGB(177, 151, 240));
// 设置表字段
m_Planelist.InsertColumn(0,"编号",LVCFMT_LEFT,100);
m_Planelist.InsertColumn(1,"电主轴转速",LVCFMT_LEFT,100);
m_Planelist.InsertColumn(2,"切削深度",LVCFMT_LEFT,100);
m_Planelist.InsertColumn(3,"进给速度",LVCFMT_LEFT,100);
m_Planelist.InsertColumn(4,"表面精度",LVCFMT_LEFT,100);
m_Planelist.InsertColumn(5,"工件材料",LVCFMT_LEFT,100);
m_Planelist.InsertColumn(6,"刀具",LVCFMT_LEFT,100);
m_Planeresultlist.InsertColumn(0,"电主轴转速",LVCFMT_LEFT,85);
m_Planeresultlist.InsertColumn(1,"切削深度",LVCFMT_LEFT,85);
m_Planeresultlist.InsertColumn(2,"进给速度",LVCFMT_LEFT,85);
flag=0;
tx_Cutdepth=GetDlgItem(IDC_EDIT3);
tx_Feedrate=GetDlgItem(IDC_EDIT6);
tx_Motorspeed=GetDlgItem(IDC_EDIT5);
tx_Pismaterial=GetDlgItem(IDC_EDIT18);
tx_Roughness=GetDlgItem(IDC_EDIT20);
tx_Tool=GetDlgItem(IDC_EDIT21);
tx_ID=GetDlgItem(IDC_EDIT1);
bt_add=GetDlgItem(IDC_PlaneAdd);
bt_save=GetDlgItem(IDC_PlaneSave);
bt_modify=GetDlgItem(IDC_PlaneModify);
bt_delete=GetDlgItem(IDC_PlaneDelete);
bt_query=GetDlgItem(IDC_PlaneQuery);
tx_Cutdepth->EnableWindow(false);
tx_Feedrate->EnableWindow(false);
tx_Motorspeed->EnableWindow(false);
tx_Pismaterial->EnableWindow(false);
tx_Roughness->EnableWindow(false);
tx_Tool->EnableWindow(false);
tx_ID->EnableWindow(false);
bt_add->EnableWindow(true);
bt_save->EnableWindow(false);
bt_modify->EnableWindow(false);
bt_delete->EnableWindow(false);
//列表框数据初始化
strQuery = "select * from paraplane";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if (0==iCount) return 0;
theApp.m_pADOSet->MoveFirst();
for (int i=0; i<iCount; i++)
{ // Get id
Holder = theApp.m_pADOSet->GetCollect("id");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.InsertItem(i, str);
// Get motorspindle
Holder = theApp.m_pADOSet->GetCollect("motorspindle");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.SetItemText(i, 1, str);
// Get cutdepth
Holder = theApp.m_pADOSet->GetCollect("cutdepth");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.SetItemText(i, 2, str);
// Get feedrate
Holder = theApp.m_pADOSet->GetCollect("feedrate");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.SetItemText(i, 3, str);
// Get planea
Holder = theApp.m_pADOSet->GetCollect("planear");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.SetItemText(i, 4, str);
// Get wpmaterial
Holder = theApp.m_pADOSet->GetCollect("wpmaterial");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.SetItemText(i, 5, str);
// Get toolmaterial
Holder = theApp.m_pADOSet->GetCollect("toolmaterial");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_Planelist.SetItemText(i, 6, str);
theApp.m_pADOSet->MoveNext();
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPARAPLANE::OnPlaneClear()
{
// TODO: Add your control notification handler code here
m_sRoughnessneed="";
m_sPismaterialneed="";
m_sToolneed="";
while ( m_Planeresultlist.DeleteItem (0))
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -