【VC开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了VC开源代码-DUnit.cpp的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
// DUnit.cpp : implementation file
//
#include "stdafx.h"
#include "qpglxt.h"
#include "DUnit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDUnit dialog
CDUnit::CDUnit(CWnd* pParent /*=NULL*/)
: CDialog(CDUnit::IDD, pParent)
{
//{{AFX_DATA_INIT(CDUnit)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDUnit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDUnit)
DDX_Control(pDX, IDC_STAUNIT, m_StaUnit);
DDX_Control(pDX, IDC_UNIT_LIST, m_List);
DDX_Control(pDX, IDC_UNIT_EDTUNIT, m_EdtUnit);
DDX_Control(pDX, IDC_UNIT_EDTID, m_EdtID);
DDX_Control(pDX, IDC_SPXX_BUTUNDO, m_ButUndo);
DDX_Control(pDX, IDC_SPXX_BUTSAVE, m_ButSave);
DDX_Control(pDX, IDC_SPXX_BUTEXIT, m_ButExit);
DDX_Control(pDX, IDC_SPXX_BUTDELE, m_ButDele);
DDX_Control(pDX, IDC_SPXX_BUTCHANGE, m_ButChange);
DDX_Control(pDX, IDC_SPXX_BUTADD, m_ButAdd);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDUnit, CDialog)
//{{AFX_MSG_MAP(CDUnit)
ON_BN_CLICKED(IDC_SPXX_BUTADD, OnSpxxButadd)
ON_BN_CLICKED(IDC_SPXX_BUTCHANGE, OnSpxxButchange)
ON_BN_CLICKED(IDC_SPXX_BUTDELE, OnSpxxButdele)
ON_BN_CLICKED(IDC_SPXX_BUTSAVE, OnSpxxButsave)
ON_BN_CLICKED(IDC_SPXX_BUTUNDO, OnSpxxButundo)
ON_BN_CLICKED(IDC_SPXX_BUTEXIT, OnSpxxButexit)
ON_LBN_SELCHANGE(IDC_UNIT_LIST, OnSelchangeUnitList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDUnit message handlers
void CDUnit::OnOK()
{
// TODO: Add extra validation here
// CDialog::OnOK();
}
BOOL CDUnit::OnInitDialog()
{
CDialog::OnInitDialog();
RxRecordset rst;
rst.Open(m_sDataBaseName);
m_sUnitTit=m_sUnitTit+":";
this->m_StaUnit.SetWindowText(m_sUnitTit);
this->m_List.SetDatabase(rst,m_sField);
this->SetWindowText(m_sCaption);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDUnit::Clear()
{
m_EdtUnit.SetWindowText("");
m_EdtID.SetWindowText("");
}
void CDUnit::Display(CString sUnit)
{
RxRecordset Drxt;
CString sSQL;
if(sUnit.IsEmpty())
return;
sSQL.Format("SELECT * FROM %s WHERE %s ='%s'",m_sDataBaseName,m_sField,sUnit);
Drxt.Open(sSQL,adCmdText);
CString sID;
sID=Drxt.GetFieldValue("编号");
sUnit=Drxt.GetFieldValue(m_sField);
m_EdtUnit.SetWindowText(sUnit);
m_EdtID.SetWindowText(sID);
}
void CDUnit::Enabled(bool bEnabled)
{
m_EdtUnit.EnableWindow(bEnabled);
m_List.EnableWindow(!bEnabled);
m_ButUndo.EnableWindow(bEnabled);
m_ButSave.EnableWindow(bEnabled);
m_ButExit.EnableWindow(!bEnabled);
m_ButDele.EnableWindow(!bEnabled);
m_ButChange.EnableWindow(!bEnabled);
m_ButAdd.EnableWindow(!bEnabled);
}
void CDUnit::OnSpxxButadd()
{
AddOrChange=1;
CString sNewID;
sNewID=ado.AutoNumber(m_sDataBaseName,"编号","",1);
this->Clear();
m_EdtID.SetWindowText(sNewID);
this->Enabled(true);
this->m_EdtUnit.SetFocus();
}
void CDUnit::OnSpxxButchange()
{
AddOrChange=2;
this->Enabled(true);
this->m_EdtUnit.SetFocus();
}
void CDUnit::OnSpxxButdele()
{
if(MessageBox("确定要删除记录吗?"," 系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
CString cID,sSQL;
this->m_EdtID.GetWindowText(cID);
sSQL.Format("DELE