C++物流管理系统(功能结构图+源代码+论文参考文献) 第8页

C++物流管理系统(功能结构图+源代码+论文参考文献) 第8页
rcNewWindow.right=rcNewWindow.left+rcWnd.Width();
 rcNewWindow.top=xPix/2-rcWnd.Height()/2-70;
 rcNewWindow.bottom=rcNewWindow.top+rcWnd.Height();
 if(nCol<14) {
  this->MoveWindow(rcNewWindow);
  MoveButton(13,rcEdit.top);
 }
 else{
  this->ShowWindow(SW_SHOWMAXIMIZED);
  MoveButton(xPix-500,yPix-120);

 }
 //设置窗口标题
 Cstring sCaption;
 this->GetParent()->GetWindowText(sCaption);
 sCaption=sCaption.Left(sCaption.GetLength()-4);
 this->SetWindowText(sCaption+”维护”);
 m_DataBaseName=sCaption+”表”;
 //设置字符某些只允许输入数字
 RxRecordset rst;
 rst.Open(m_DataBaseName);
    for(I=0;I<rst.GetFieldCount();I++){
    if(rst.GetFieldType(i)==”数值型”)
   pEdt[I].IsMoneyOnly(true);
  if(rst.GetFieldType(i)==”逻辑型”)
   pEdt[I].IsBoolOnly(true);
 }
 this->Invalidate();
 this->GetClientRect(&rcNewWindow);
 //调整标题区域大小
 this->m_StaTitle.MoveWindow(16,16,rcNewWindow.right-32,38,true);
 this->m_StaTitle.SetWindowText(sCaption+”维护”);
 Display();
 return TRUE;
}
(2)现在,所有相关数据表中的字段在对话框中都会有一个对应的编辑框,通过Display成员函数将用户选择的记录添加到和编辑框中。
void CDBaseDlg::Display()
{
 Cstring sItemValue;
 int nSelectMark=m_pGrid->GetSelectionMark();// m_pGrid是指向查询子模块中表格对象的指针
 if(nSelectMark==-1){
  m_ButCommand[4].EnableWindow(true); 
  return;
 }
 for(int I=0;I<m_ColCount;I++){
  sItemValue=m_pGrid->GetItemText(nSelectMark,I);
  pEdt[I].SetWindowText(sItemValue);//根据用户选择的列,将各字段内容添加到编辑框中 
 }
}
(3)基础的准备工作制作完成,现在可以为程序增加编辑功能了。
void CDBaseDlg::OnButnew()  //新增
{
 Clear();  //清空各编辑框的内容
 OnButcopy();
}
void CDBaseDlg::Clear() //清空各编辑框内容
{
 for(int m=0;m<m_ColCount;m++)
 {
  pEdt[m].SetWindowText(“”);
 }
}
void CDBaseDlg::OnButchange()  //修改
{
 m_IsAdd=false; //记录用户执行的是添加操作还是修改操作,在保存时使用
 Enabled(true); 
}
void CDBaseDlg::OnButdele()  //删除
{
 if(MessageBox(“确定要删除这条记录吗?”,”系统提示”,\
 MB_OKCANCEL|MB_ICONQUESTION)!=1)
  return;
 Cstring sSQL,sID,sValue;
 pSta[0].GetWindowText(sID);
 sID=sID.Left(sID.GetLength()-1);
 pEdt[0].GetWindowText(sValue);
 RxRecordset rst;
 rst.Open(m_DataBaseName);
 Cstring sType=rst.GetFieldType(0);
 if(sType=”字符型”)
  sSQL.Format(“DELETE FROM %s WHERE %s=’%s’”,m_DataBaseName,sID,sValue);
 else
  sSQL.Format(“DELETE FROM %s WHERE %s=%s”,m_DataBaseName,sID,sValue);
 rst.Open(sSQL,adCmdText);
 this->OnCancel();
}
void CDBaseDlg::OnButcopy()  //复制
{
 Cstring sSmallCaption,sCaption;
 m_IsAdd=true;
 Enabled(true);
 Cstring NewNumber;
 RxRecordset rst;
 sCaption=rst.GetFieldName(0);
 rst.Open(m_DataBaseName);
 Cstring sType=rst.GetFieldType(0);
 if(sType==”字符型”){
  sSmallCaption=CharToLetterCode(m_DataBaseName);
  sSmallCaption=sSmallCaption.Left(2);
  NewNumber=ado.AutoNumber(m_DataBaseName,m_Identify,sSmallCaption,m_NumberStyle);
 }
 else
  NewNumber=ado.AutoNumber(m_DataBaseName,m_Identify,””,m_NumberStyle);
 pEdt[0].SetWindowText(NewNumber);
 pEdt[1].SetFocus();
}
void CDBaseDlg::OnButundo() //撤消
{
 if(MessageBox(“确定要撤销操作吗?”,”系统提示”,\
 MB_OKCANCEL|MB_ICONQUESTION)!=1)
  return;
 Clear();
 Display();
 Enabled(false);
}
void CDBaseDlg::OnButsave()  //保存
{
 if(MessageBox(“确定要保存记录吗?”,”系统提示”,\
 MB_OKCANCEL|MB_ICONQUESTION)!=1)
  return;
 RxRecordset rst;
 rst.Open(m_DataBaseName);

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有