⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classmanadlg.cpp

📁 VC++ 开发的一个大型进销存管理系统,并附带有Visio的数据库开发模型,商品采用分类管理.但是各位同仁需要注意,本系统的开发过程是基于VC++6.0 SQL Server2000的基础之上开发的.
💻 CPP
字号:
// ClassManaDlg.cpp : implementation file
//

#include "stdafx.h"
#include "QGZX_InfoPlat.h"
#include "ClassManaDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CClassManaDlg dialog


CClassManaDlg::CClassManaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CClassManaDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClassManaDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_ds = new CData();
	m_ds->InitData();
}


void CClassManaDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClassManaDlg)
	DDX_Control(pDX, IDC_LIST_CLASS, m_classView);
	DDX_Control(pDX, IDC_COMBO_MANAGER, m_comboManager);
	DDX_Control(pDX, IDC_MONTHCALENDAR, m_monthCalendar);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClassManaDlg, CDialog)
	//{{AFX_MSG_MAP(CClassManaDlg)
	ON_CBN_SETFOCUS(IDC_COMBO_DATE, OnSetfocusComboDate)
	ON_CBN_KILLFOCUS(IDC_COMBO_DATE, OnKillfocusComboDate)
	ON_NOTIFY(MCN_SELECT, IDC_MONTHCALENDAR, OnSelectMonthcalendar)
	ON_CBN_DROPDOWN(IDC_COMBO_DATE, OnDropdownComboDate)
	ON_BN_CLICKED(IDC_CHECK_ALTERNUM, OnCheckAlternum)
	ON_BN_CLICKED(ID_DEL_CLASS, OnDelClass)
	ON_BN_CLICKED(ID_ALTER_CLASS, OnAlterClass)
	ON_WM_CTLCOLOR()
	ON_NOTIFY(NM_CLICK, IDC_LIST_CLASS, OnClickListClass)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClassManaDlg message handlers

void CClassManaDlg::OnOK() 
{
	// TODO: Add extra validation here
	CString str_classID, str_className, str_CreateDate, str_ManagerName, str_classInfo;
	int nNum = 0;
	CString str_nNum;
	CString str_Insert;
	GetDlgItemText(IDC_EDIT_CLASSID, str_classID);
	GetDlgItemText(IDC_EDIT_CLASSNAME, str_className);
	GetDlgItemText(IDC_COMBO_DATE, str_CreateDate);
	GetDlgItemText(IDC_COMBO_MANAGER, str_ManagerName);
	GetDlgItemText(IDC_EDIT_CLASSINFO, str_classInfo);
	GetDlgItemText(IDC_EDIT_CLASSNUM, str_nNum);
//	str_nNum.Format("%d",nNum);
	if(str_classID == "" || str_className == "" || str_CreateDate == "" ||
		str_ManagerName == "" || str_classInfo == "")
	{
		MessageBox("错误:请输入完整的信息","输入信息不完整",MB_ICONERROR | MB_OK);
		return;
	}
//	str_Insert.Format("Insert into _tClass(ClassID, ClassName, ClassNum, ClassInfo,CreateDate, ManagerName) values('%s', '%s', %s, '%s', '%s','%s')",str_classID, str_className, 10, str_classInfo, str_CreateDate, str_ManagerName);
	str_Insert.Format("Insert into _tClass(ClassNum ,ClassID, ClassName ,CreateDate, ClassInfo, ManagerName) values(%s, '%s', '%s' ,'%s' ,'%s', '%s')", str_nNum, str_classID, str_className ,str_CreateDate, str_classInfo, str_ManagerName);
	m_ds->ExecuteOther(str_Insert);
//	m_ds->ExecuteSQL("Select * From _tClass");
	//	str_Insert.Format("Insert into _tClass(ClassID, ClassName, ClassNum, ClassInfo, 
//		CreateDate, ManagerName) values('%s', '%s', 0, '%s', '%s', '%s')",
//		str_classID, str_className, str_classInfo, str_CreateDate, str_ManagerName);
	RefreshListView(NULL);
	return;
//	CDialog::OnOK();
}

void CClassManaDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

BOOL CClassManaDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CString str_tmp1;
	CString str_date; 
	int nRecordCount = 0;
	CTime time;							//设置初始化日期
	time=::CTime::GetCurrentTime(); 
	str_date = time.Format("20%y-%m-%d"); 
//	str_date = time.Format("%H:%M:%S");  //获取时间
	SetDlgItemText(IDC_COMBO_DATE,str_date);
	SetDlgItemText(IDC_EDIT_CLASSNUM, "0");		//设置默认类数为0
	SetDlgItemText(IDC_EDIT_CLASSINFO, "<无>");
	((CButton*)GetDlgItem(ID_DEL_CLASS))->EnableWindow(FALSE);
	((CButton*)GetDlgItem(ID_ALTER_CLASS))->EnableWindow(FALSE);
	m_comboManager.InsertString(0,this->m_strManagerName);

	m_ds->ExecuteSQL("Select * From _tSysManager");
	nRecordCount = m_ds->GetRecordCount();
	for(int i = 1; i <= nRecordCount; i++)		//i从1计数,前面已经插入一项
	{
		str_tmp1 = m_ds->GetAsString("ManagerName");
		m_comboManager.InsertString(i, str_tmp1);
		m_ds->MoveNext();
	}
	m_comboManager.SetCurSel(0);

//**********************初始化列表视图*********************
	m_classView.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
//	m_classView.SetBkColor(RGB(250,250,0));
//	m_classView.SetTextBkColor(RGB(255,0,0));
	m_classView.InsertColumn(0,"分类编号",LVCFMT_LEFT,80);
	m_classView.InsertColumn(1,"分类名称",LVCFMT_LEFT,120);
	m_classView.InsertColumn(2,"分类商品数量",LVCFMT_LEFT,90);
	m_classView.InsertColumn(3,"创建日期",LVCFMT_LEFT,100);
	m_classView.InsertColumn(4,"操作员",LVCFMT_LEFT,100);
	m_classView.InsertColumn(5,"分类信息",LVCFMT_LEFT,150);

	CString str_ClassID;
	m_ds->ExecuteSQL("Select * From _tClass");
	nRecordCount = m_ds->GetRecordCount();
	for(i = 0; i < nRecordCount; i++)
	{
		m_classView.InsertItem(i, "");
		m_classView.SetItemText(i, 0 , m_ds->GetAsString("ClassID"));
		m_classView.SetItemText(i, 1 , m_ds->GetAsString("ClassName"));
		m_classView.SetItemText(i, 2 , m_ds->GetAsString("ClassNum"));
		m_classView.SetItemText(i, 3 , m_ds->GetAsString("CreateDate"));
		m_classView.SetItemText(i, 4 , m_ds->GetAsString("ManagerName"));
		m_classView.SetItemText(i, 5 , m_ds->GetAsString("ClassInfo"));
		m_ds->MoveNext();
	}

//	CFont class_font;
//	class_font.CreatePointFont(150,_T("楷体"));
//	m_classView.SetFont(&class_font);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CClassManaDlg::OnSetfocusComboDate() 
{
	// TODO: Add your control notification handler code here
	m_monthCalendar.ShowWindow(SW_SHOW);
}

void CClassManaDlg::OnKillfocusComboDate() 
{
	// TODO: Add your control notification handler code here
	m_monthCalendar.ShowWindow(SW_HIDE);
}

void CClassManaDlg::OnSelectMonthcalendar(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	COleDateTime m_dSelRq;
	m_dSelRq=COleDateTime(((NMSELCHANGE*)pNMHDR)->stSelStart); 
	CString str_tmp1;
	str_tmp1.Format("%d-%d-%d",m_dSelRq.GetYear(),m_dSelRq.GetMonth(),
		m_dSelRq.GetDay());
	SetDlgItemText(IDC_COMBO_DATE,str_tmp1);
	m_monthCalendar.ShowWindow(SW_HIDE);

	*pResult = 0;
}

void CClassManaDlg::OnDropdownComboDate() 
{
	// TODO: Add your control notification handler code here
	m_monthCalendar.ShowWindow(SW_SHOW);
}

void CClassManaDlg::OnCheckAlternum() 
{
	// TODO: Add your control notification handler code here
	if(((CButton*)GetDlgItem(IDC_CHECK_ALTERNUM))->GetCheck() == BST_CHECKED)
	{
		((CEdit*)GetDlgItem(IDC_EDIT_CLASSNUM))->EnableWindow(TRUE);
	}
	else
	{
		((CEdit*)GetDlgItem(IDC_EDIT_CLASSNUM))->EnableWindow(FALSE);
	}
}

void CClassManaDlg::OnDelClass() 
{
	// TODO: Add your control notification handler code here
	int nCurSele = 0;
	CString strClassID;
	CString strSQL;
	nCurSele = m_classView.GetSelectionMark();
	strClassID = m_classView.GetItemText(nCurSele, 0);

	if(IDOK != MessageBox("确认删除[" + strClassID +"]吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION|MB_DEFBUTTON2))
		return;
//	m_classView.GetItemText(nCurSele, 0, strClassID.GetBuffer(0), 10);
//	::AfxMessageBox(strClassID);
	m_classView.SetFocus();
	strSQL.Format("Delete From _tClass Where ClassID = '%s'", strClassID);
//	::AfxMessageBox(strSQL);
	m_ds->ExecuteOther(strSQL);
	RefreshListView(NULL);
	MessageBox("成功删除[" + strClassID + "]" ,"系统提示",MB_ICONINFORMATION | MB_OK);
/*
	CString str_tmp1;
	str_tmp1.Format("%d",m_classView.GetSelectionMark());
	::AfxMessageBox(str_tmp1);
	m_classView.SetFocus();
	m_classView.SetItemState(1,   LVIS_SELECTED,   LVIS_SELECTED);   
	*/
//	m_classView.EnsureVisible(1,   false);   
//	m_classView.SetItemState(1,   LVIS_SELECTED,   LVIS_SELECTED);   
//	m_classView.SetItemState(1,NULL);
}

void CClassManaDlg::OnAlterClass() 
{
	// TODO: Add your control notification handler code here
	int nCurSele = 0;
	CString strClassID, strClassName, strNum, strDate, strManager, strInfo;
	CString strSQL;
	nCurSele = m_classView.GetSelectionMark();
	strClassID = m_classView.GetItemText(nCurSele, 0);
	strClassName = m_classView.GetItemText(nCurSele, 1);
	strNum = m_classView.GetItemText(nCurSele, 2);
	strDate = m_classView.GetItemText(nCurSele, 3);
	strManager = m_classView.GetItemText(nCurSele, 4);
	strInfo = m_classView.GetItemText(nCurSele, 5);

	SetDlgItemText(IDC_EDIT_CLASSID, strClassID);
	SetDlgItemText(IDC_EDIT_CLASSNAME, strClassName);
	SetDlgItemText(IDC_EDIT_CLASSNUM, strNum);
	SetDlgItemText(IDC_COMBO_DATE, strDate);
	SetDlgItemText(IDC_COMBO_MANAGER, strManager);
	SetDlgItemText(IDC_EDIT_CLASSINFO, strInfo);



	m_classView.SetFocus();
}

BOOL CClassManaDlg::RefreshListView(CListCtrl *listview)
{
	int nRecordCount = 0;
	m_classView.DeleteAllItems();

	m_ds->ExecuteSQL("Select * From _tClass");
	nRecordCount = m_ds->GetRecordCount();
	for(int i = 0; i < nRecordCount; i++)
	{
		m_classView.InsertItem(i, "");
		m_classView.SetItemText(i, 0 , m_ds->GetAsString("ClassID"));
		m_classView.SetItemText(i, 1 , m_ds->GetAsString("ClassName"));
		m_classView.SetItemText(i, 2 , m_ds->GetAsString("ClassNum"));
		m_classView.SetItemText(i, 3 , m_ds->GetAsString("CreateDate"));
		m_classView.SetItemText(i, 4 , m_ds->GetAsString("ManagerName"));
		m_classView.SetItemText(i, 5 , m_ds->GetAsString("ClassInfo"));
		m_ds->MoveNext();
	}
	return TRUE;
}

HBRUSH CClassManaDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	
	// TODO: Return a different brush if the default is not desired

	return hbr;
}

void CClassManaDlg::OnClickListClass(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	((CButton*)GetDlgItem(ID_DEL_CLASS))->EnableWindow(TRUE);	
	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -