📄 show.cpp
字号:
// Show.cpp : implementation file
//
#include "stdafx.h"
#include "仓库管理系统.h"
#include "Show.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CDatabase m_database;
extern CAddMaterial* adddlg;
extern CMainDlg* MainDlg;
extern CSearchMaterial* searchdlg;
/////////////////////////////////////////////////////////////////////////////
// CShow dialog
CShow::CShow(CWnd* pParent /*=NULL*/)
: CDialog(CShow::IDD, pParent)
{
//{{AFX_DATA_INIT(CShow)
//}}AFX_DATA_INIT
}
void CShow::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CShow)
DDX_Control(pDX, IDC_LIST1, m_List);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CShow, CDialog)
//{{AFX_MSG_MAP(CShow)
ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CShow message handlers
BOOL CShow::OnInitDialog()
{
CDialog::OnInitDialog();
m_List.InsertColumn(0,"物资号");
m_List.InsertColumn(1,"物资名");
m_List.InsertColumn(2,"数量");
m_List.InsertColumn(3,"备注");
CRect r;
m_List.GetWindowRect(&r);
int wid=r.Width();//取得List Control控件宽度
for(int i=0;i<14;i++){
m_List.SetColumnWidth(i,wid/3);//每个属性分配三分之一的宽度
}
//设置List Control控件属性,使其具有类似Excel的网格样式
m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CShow::OnButton5()
{
MainDlg->ShowWindow(SW_SHOW);
ShowWindow(SW_HIDE);
}
void CShow::OnRefreshData(CString sql){
CString str;
m_List.DeleteAllItems();
CMessSet m_messset;
char buf[100];
m_messset.m_pDatabase=&m_database;
m_messset.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
//m_messset.MoveFirst();
int i=0;
while(!m_messset.IsEOF()){
while(m_messset.IsDeleted()){
m_messset.MoveNext();
}
str=itoa(m_messset.m_column1,buf,10);
str.TrimRight();
m_List.InsertItem(i,str);
str=m_messset.m_column2;
str.TrimRight();
m_List.SetItemText(i,1,str);
str.Format("%d",m_messset.m_column3);
m_List.SetItemText(i,2,str);
str=m_messset.m_column4;
str.TrimRight();
m_List.SetItemText(i,3,str);
m_messset.MoveNext();
}
}
void CShow::OnButton1()
{
adddlg->isupdate=false;
adddlg->ShowWindow(SW_SHOW);
}
void CShow::OnButton2()
{
CString sql;
CString item;
int index=-1;
char buf[100];
if (m_List.GetNextItem(index,LVNI_SELECTED) == -1){
MessageBox("请先选中一条记录");
return;
}
int num;
int preindex=-1;
//删除List Control控件中选中的记录。
while ((index = m_List.GetNextItem(preindex,LVNI_SELECTED)) != -1) {
item=m_List.GetItemText(index,0);//从选中的记录中获取用户名
try{
//生成删除用户的SQL语句
sql.Format("delete from 物资表 where 物资号='%s'",item);
m_database.ExecuteSQL(sql);
}
catch(CDBException e1){
AfxMessageBox("数据库操作失败");
}
catch(CMemoryException e2){
AfxMessageBox("数据库操作失败");
}
preindex=index;
}
//更新显示数据
sql="select * from 物资表 order by 物资号";
this->OnRefreshData(sql);
OnPaint();
}
void CShow::OnClose()
{
// TODO: Add your message handler code here and/or call default
if(MessageBox("确定退出系统1?","提醒",MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)!=IDNO){
exit(0);
}
}
void CShow::OnButton3()
{
CString sql;
CString item;
int index=-1;
char buf[100];
if (index=m_List.GetNextItem(index,LVNI_SELECTED) == -1){
MessageBox("请先选中一条记录");
return;
}
int preindex=-1;
while ((index = m_List.GetNextItem(preindex,LVNI_SELECTED)) != -1) {
adddlg->itemnum=m_List.GetItemText(index,0);
adddlg->m_name=m_List.GetItemText(index,1);
adddlg->m_num=atoi(m_List.GetItemText(index,2));
adddlg->m_mark=m_List.GetItemText(index,3);
adddlg->isupdate=true;
adddlg->UpdateData(FALSE);
adddlg->ShowWindow(SW_SHOW);
preindex=index;
break;
}
}
void CShow::OnButton4()
{
searchdlg->ShowWindow(SW_SHOW);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -