📄 tankdlg.cpp
字号:
// TankDlg.cpp : implementation file
//
#include "stdafx.h"
#include "OilTrans.h"
#include "TankDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTankDlg dialog
CTankDlg::CTankDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTankDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTankDlg)
m_nHeight = 0;
m_sName = _T("");
m_fVolume = 0.0f;
//}}AFX_DATA_INIT
nTankNum =0;
nOilType = 0;
}
void CTankDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTankDlg)
DDX_Control(pDX, IDC_EDIT_NAME, m_ctrName);
DDX_Control(pDX, IDC_CMB_OILTYPE, m_ctrOilType);
DDX_Text(pDX, IDC_EDIT_HEIGHT, m_nHeight);
DDX_Text(pDX, IDC_EDIT_NAME, m_sName);
DDX_Text(pDX, IDC_EDIT_VOLUME, m_fVolume);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTankDlg, CDialog)
//{{AFX_MSG_MAP(CTankDlg)
ON_BN_CLICKED(IDC_BTN_NEW, OnBtnNew)
ON_BN_CLICKED(IDC_BTN_OK, OnBtnOk)
ON_CBN_SELCHANGE(IDC_CMB_OILTYPE, OnSelchangeCmbOiltype)
ON_BN_CLICKED(IDC_BTN_NEXT, OnBtnNext)
ON_WM_KEYUP()
ON_BN_CLICKED(IDC_BTN_EDIT, OnBtnEdit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTankDlg message handlers
void CTankDlg::OnBtnNew()
{
// TODO: Add your control notification handler code here
m_ctrName.EnableWindow(TRUE);
UpdateData(TRUE);
nTankNum++;
CString sTemp;
sTemp.Format("%d",nTankNum);
m_sName="Tank_"+sTemp;
if(!OpenDB()){
AfxMessageBox("Not Open datebase!");
return;
}
m_ctrlMysql.CreateTable("Create table "+m_sName+ " (height int,volume float)");
UpdateData(FALSE);
m_ctrName.EnableWindow(FALSE);
::SendMessage(hWnd, WM_OT_NT, (WPARAM)('s'), (LPARAM)0);
UpdateData(TRUE);
nOilType = m_ctrOilType.GetCurSel();
UpdateData(FALSE);
::SendMessage(hWnd, WM_OT_NTO, (WPARAM)('s'), (LPARAM)nOilType);
}
BOOL CTankDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_ctrName.EnableWindow(TRUE);
UpdateData(TRUE);
m_sName = "自动添加";
UpdateData(FALSE);
m_ctrName.EnableWindow(FALSE);
m_ctrOilType.AddString("原油");
m_ctrOilType.AddString("成品油");
m_ctrOilType.AddString("润滑油");
m_ctrOilType.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTankDlg::OnBtnOk()
{
// TODO: Add your control notification handler code here
}
void CTankDlg::SetTankNum(int nTanks)
{
nTankNum = nTanks;
}
void CTankDlg::OnSelchangeCmbOiltype()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
nOilType = m_ctrOilType.GetCurSel();
UpdateData(FALSE);
::SendMessage(hWnd, WM_OT_NTO, (WPARAM)('s'), (LPARAM)nOilType);
}
void CTankDlg::SetWnd(HWND wnd)
{
hWnd = wnd;
}
void CTankDlg::OnBtnNext()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_sSql = "Insert into "+m_sName +" values (";
m_sSql=m_sSql+isvt(m_nHeight)+","+fsvt(m_fVolume)+")";
m_ctrlMysql.Insert(m_sSql);
m_nOldH = m_nHeight;
m_nHeight = m_nHeight+10;
m_fVolume =0;
UpdateData(FALSE);
}
CString CTankDlg::isvt(int n)
{
CString result;
result.Format("%d",n);
return result;
}
CString CTankDlg::fsvt(float f)
{
CString result;
result.Format("%0.2f",f);
return result;
}
void CTankDlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(m_nOldH-m_nHeight==10)
OnBtnNext();
//if(nChar=)
CDialog::OnKeyUp(nChar, nRepCnt, nFlags);
}
BOOL CTankDlg::OpenDB()
{
if(m_ctrlMysql.IsOpen())
m_ctrlMysql.Close();
m_ctrlMysql.SetDB("OT");
m_ctrlMysql.SetPort("3306");
m_ctrlMysql.SetUser("root");
m_ctrlMysql.SetPassword("");
m_ctrlMysql.SetIP("127.0.0.1");
m_ctrlMysql.InitMYSQL();
if (m_ctrlMysql.Open())
return TRUE;
return FALSE;
}
void CTankDlg::OnBtnEdit()
{
// TODO: Add your control notification handler code here
m_ctrName.EnableWindow(TRUE);
UpdateData(TRUE);
CString sTemp;
sTemp.Format("%d",nTankNum);
m_sName="Tank_"+sTemp;
if(!OpenDB()){
AfxMessageBox("Not Open datebase!");
return;
}
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -