?? dlgck.cpp
字號:
// DlgCK.cpp : implementation file
//
#include "stdafx.h"
#include "a1.h"
#include "DlgCK.h"
#include "DlgTheCK.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgCK dialog
CDlgCK::CDlgCK(CWnd* pParent /*=NULL*/)
: CDialog(CDlgCK::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgCK)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CDlgCK::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgCK)
DDX_Control(pDX, IDC_LIST1, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgCK, CDialog)
//{{AFX_MSG_MAP(CDlgCK)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_BN_CLICKED(IDC_BUTTON_XIUGAI, OnButtonXiugai)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgCK message handlers
BOOL CDlgCK::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect;
m_list.SetExtendedStyle( LVS_EX_FULLROWSELECT | //允許整行選中
// LVS_EX_HEADERDRAGDROP | //允許整列拖動
LVS_EX_GRIDLINES | //畫出網格線
// LVS_EX_ONECLICKACTIVATE | //單擊選中表項
LVS_EX_FLATSB //扁平風格的滾動條
// LVS_EX_UNDERLINEHOT
);
this->m_list.GetClientRect(rect);
m_list.InsertColumn(0,"倉庫名稱");
m_list.InsertColumn(1,"倉庫管理員");
m_list.SetColumnWidth(0,rect.Width()/2);
m_list.SetColumnWidth(1,rect.Width()/2);
this->InitList();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
bool CDlgCK::InitList()
{
try{
int i=0;
CString sql;
CString str;
_variant_t value;
sql.Format("select tabck.ck_name,tabck.yg_id,tabyginfo.yg_name \
from tabck,tabyginfo where tabck.yg_id = tabyginfo.yg_id \
order by ck_name asc");
this->m_runsql.CheckSQLResult(sql);
m_list.DeleteAllItems();
m_list.SetRedraw(false);
while(!m_runsql.m_recordset->adoEOF)
{
value=m_runsql.m_recordset->GetCollect("ck_name");
this->m_list.InsertItem(i,(char*)(_bstr_t)value);
value=m_runsql.m_recordset->GetCollect("yg_id");
if(value.vt!=VT_NULL)
str=(char*)(_bstr_t)value;
str+=":";
value=m_runsql.m_recordset->GetCollect("yg_name");
if(value.vt!=VT_NULL)
str+=(char*)(_bstr_t)value;
this->m_list.SetItemText(i,1,str);
i++;
m_runsql.m_recordset->MoveNext();
}
sql.Format("select * from tabck where yg_id = '' \
order by ck_name asc");
this->m_runsql.CheckSQLResult(sql);
while(!m_runsql.m_recordset->adoEOF)
{
value=m_runsql.m_recordset->GetCollect("ck_name");
this->m_list.InsertItem(i,(char*)(_bstr_t)value);
this->m_list.SetItemText(i,1,"");
i++;
m_runsql.m_recordset->MoveNext();
}
m_list.SetRedraw(true);
}
catch(_com_error& e)
{
AfxMessageBox(e.ErrorMessage());
m_list.SetRedraw(true);
return false;
}
return true;
}
void CDlgCK::OnButtonDel()
{
if(MessageBox("確定刪除倉庫及其相關的庫存信息嗎?","注意",MB_YESNO)!=IDYES)
return ;
int mark=this->m_list.GetSelectionMark();
if(mark<0)return ;
m_sSelectedUser=this->m_list.GetItemText(mark,0);
CString sql;
bool m_bNULL=true;
_variant_t value;
sql.Format("select kc_number from tabkc where ck_name = '%s'",m_sSelectedUser);
m_runsql.CheckSQLResult(sql);
while(!m_runsql.m_recordset->adoEOF)
{
value=m_runsql.m_recordset->GetCollect("kc_number");
if(value.vt!=VT_NULL)
{
if(value.lVal!=0)
{
m_bNULL=false;
break;
}
}
m_runsql.m_recordset->MoveNext();
}
if(!m_bNULL){
MessageBox("請將數據庫清0后,再刪除該倉庫!","注意");
return;
}
sql.Format("delete * from tabck where ck_name = '%s'",m_sSelectedUser);
m_runsql.RunSQL(sql);
sql.Format("delete * from tabkc where ck_name = '%s'",m_sSelectedUser);
m_runsql.RunSQL(sql);
m_list.DeleteItem(mark);
}
void CDlgCK::OnButtonAdd()
{
CDlgTheCK dlg;
dlg.m_bAdd=true;
if(dlg.DoModal()==IDOK)
{
int i=m_list.GetItemCount();
this->m_list.InsertItem(i,dlg.m_strCkName);
this->m_list.SetItemText(i,1,dlg.m_strCkAdmi);
}
}
void CDlgCK::OnButtonXiugai()
{
int mark=this->m_list.GetSelectionMark();
if(mark<0)return;
CDlgTheCK dlg;
dlg.m_bAdd=false;
dlg.m_strCkName=this->m_list.GetItemText(mark,0);
dlg.m_strCkAdmi=this->m_list.GetItemText(mark,1);
dlg.DoModal();
this->m_list.SetItemText(mark,0,dlg.m_strCkName);
this->m_list.SetItemText(mark,1,dlg.m_strCkAdmi);
}
void CDlgCK::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
this->OnButtonXiugai();
*pResult = 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -