企业进销存系统的设计与实现
在让主对话框操作简单明了的同时,一些个性化的设计也非常重要。为了让系统显得更加的人性化,根据操作员的一些常用操作,制作了专门的工具栏,这样操作员在做一些常用操作时就不用拉开繁杂的菜单,而可以直接点击工具栏中的图标来进行操作。通常创建工具栏可以引用MSDN中提供的CSTANDARDBAR类或者使用MFC类库中的CTOOLBARCTRL类。系统中使用后者来创建工具栏。
(2)登陆模块的实现
登录对话框是对整个进销存系统安全性的一个把关,只有系统内登记的操作员才可以登录并进行对应其权限的操作。
用MFC ClassWizard为控件定义变量
图表 3-3为对话框上的控件设置变量
登录对话框将用户输入的用户名和密码保存,并跟数据库里的信息进行比对。
void CDlgLogin::OnButton1() {
16
企业进销存系统的设计与实现
GetDlgItemText(IDC_USER, strUser); GetDlgItemText(IDC_PASS, strPassWord); EndDialog(IDOK);
}
3.3 操作员信息管理模块
操作员信息管理模块实现操作员的信息添加、修改和删除。为了整个系统的安全性考虑,进销存信息管理系统添加了系统登录的模块,使得不同权限的操作员可以进行相应的操作。
新建一个类名为COpCtrlDlg的对话框:
图表 3-4操作员信息管理设计窗口
用InitCtrlData成员函数来初始化所有的控件内容和属性:
m_hTabCtrl.InsertItem(0, \操作员基本信息\m_hTabCtrl.InsertItem(1, \操作员列表\m_hTabCtrl.ShowWindow(1) ; //Init button Ctrl
m_hListOp.InsertColumn(0, \操作员姓名\m_hListOp.InsertColumn(1, \操作员密码\
17
企业进销存系统的设计与实现
m_hListOp.InsertColumn(2, \操作员级别\
|
m_hListOp.SetExtendedStyle(m_hListOp.GetStyle() LVS_EX_FULLROWSELECT);
3.4 商品进货模块
商品进货模块实现商品入库信息的添加、修改和保存。 新建对话框并设计其控件如下:
图表 3-5商品入库管理设计窗口
其实现过程中的关键技术如下:
(1)切换标签页:先用case语句判断选择的页面,再用ShowWindow方法来显示所选择的页面。
switch(m_nSelected) {
case 0: {
m_hTabSprk.SetCurSel(0) ;
m_hEditZk.ShowWindow(TRUE) ; …… break ; } case 1:
18
企业进销存系统的设计与实现
{
m_hTabSprk.SetCurSel(1) ;
m_hEditZk.ShowWindow(FALSE) ; …… }
(2)当操作员进行保存操作时,根据标签页中的内容保存用户所作的修改:
m_hEditRkdh.GetWindowText(ID, sizeof(ID)) ;
m_hEditGys.GetWindowText(provider, sizeof(provider)) ; ……
//保存修改,更新数据库
m_hDatabase.UpdateSprkData(ID,provider,ooperator,rebate,sumtotal,paymone y,factmoney,intime,merchandiseID,unitPrice,numbers,stockname) ;
3.5 销售管理模块
销售管理模块实现销售信息的添加、修改、删除和保存。 新建一个对话框并修改增加控件如下图所示:
图表 3-6商品销售管理设计窗口
其实现过程中的关键技术如下所示:
当操作员进行增加操作时,根据判断的当前属性页,切换到新增页并
19
企业进销存系统的设计与实现
清空所有文本信息:具体用OnBtnAdd方法。
void CDlgSell::OnBtnAdd() {
switch(m_hTabCancelSell.GetCurSel()) {
case 0: {
break ; } case 1: {
TabCtrlOfSelect(0) ; break ; } }
m_hEditUnitPrice.SetWindowText(\ m_hEditSumTotal.SetWindowText(\ ……
m_hBtnSave.EnableWindow() ; }
3.6 查询管理模块
查询管理模块实现入库查询、入库退货查询、销售查询和销售退货查询,另外还提供打印操作。
20