// PayOutSet.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "PayOutSet.h" #include "MonthForm.h" #include "YearForm.h" #include "YearForm2.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // PayOutSet dialog PayOutSet::PayOutSet(CWnd* pParent /*=NULL*/) : CDialog(PayOutSet::IDD, pParent) { //{{AFX_DATA_INIT(PayOutSet) m_edit1 = _T(""); m_mode = 0; //}}AFX_DATA_INIT } void PayOutSet::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(PayOutSet) DDX_Control(pDX, IDC_LIST1, m_List1); DDX_Text(pDX, IDC_EDIT1, m_edit1); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(PayOutSet, CDialog) //{{AFX_MSG_MAP(PayOutSet) ON_BN_CLICKED(IDC_BUTadd, OnBUTadd) ON_BN_CLICKED(IDC_BUTdel, OnBUTdel) ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // PayOutSet message handlers BOOL PayOutSet::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here CRect rc; m_List1.GetClientRect(rc); CString strHeadings; strHeadings.Format("项目名称,%d", rc.Width() - 18); m_List1.SetHeadings(strHeadings); FillGrid(); this->CenterWindow(g_pMainWnd); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void PayOutSet::FillGrid() { g_sendhead.bsql = 0; g_sendhead.code[0] = 12; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(12); if (g_bSendOK == 0)return; DataToArray(&m_List1array); m_List1.DeleteAllItems2(); int ii = 0; { m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1); for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++) m_List1.m_arLabels.ElementAt(ii).Copy(m_List1array.ElementAt(ii)); } m_List1.m_LabelCount = ii; m_List1.SetItemCountEx(ii); } void PayOutSet::OnBUTadd() { // TODO: Add your control notification handler code here UpdateData(); m_edit1.TrimLeft(); m_edit1.TrimRight(); if (m_edit1.IsEmpty()) { AfxMessageBox("项目不能为空!", MB_ICONINFORMATION); this->GetDlgItem(IDC_EDIT1)->SetFocus(); return; } CString sql; sql.Format("insert into gudingfeiyongxiangmu (xiangmu)values('%s')", m_edit1); sql += GDFYXM_REF; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return; FillGrid(); } void PayOutSet::OnBUTdel() { // TODO: Add your control notification handler code here POSITION pos; pos = m_List1.GetFirstSelectedItemPosition(); if (pos == NULL) { AfxMessageBox("请选中您要删除的项目!", MB_ICONINFORMATION); return; } if (AfxMessageBox("确认删除吗?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return; int iItem = m_List1.GetNextSelectedItem(pos); CString name = m_List1.GetItemText(iItem, 0); CString sql; sql.Format("delete from gudingfeiyongxiangmu where xiangmu='%s'", name); sql += GDFYXM_REF; g_sendhead.bsql = 1; g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return; FillGrid(); } void PayOutSet::MoveWindow2(CRect rc) { CRect rc2; m_List1.GetWindowRect(rc2); rc2.right += 20; rc.left = rc.right - rc2.Width(); MoveWindow(rc); GetClientRect(rc); m_List1.MoveWindow(rc); } void PayOutSet::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here if (!m_mode)return; POSITION pos; pos = m_List1.GetFirstSelectedItemPosition(); if (pos == NULL) { return; } int iItem = m_List1.GetNextSelectedItem(pos); CString id = m_List1.GetItemText(iItem, 0); if (m_mode == 1) ((MonthForm*)m_pParent)->TypeChange(id); else if (m_mode == 2) ((YearForm*)m_pParent)->TypeChange(id); else if (m_mode == 3) ((YearForm2*)m_pParent)->TypeChange(id); *pResult = 0; }