⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedbackrecord.cpp

📁 这是一个企业办公管理系统。实现了文件的制作、修改、传递、、保存、销毁、存档等一系列操作。为windows系统认证模式
💻 CPP
字号:
// FeedbackRecord.cpp : implementation file
//

#include "stdafx.h"
#include "Office.h"
#include "FeedbackRecord.h"
#include "Feedback.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFeedbackRecord dialog


CFeedbackRecord::CFeedbackRecord(CWnd* pParent /*=NULL*/)
	: CDialog(CFeedbackRecord::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFeedbackRecord)
	m_receiver = _T("");
	m_sendor = _T("");
	m_feedbackDate = COleDateTime::GetCurrentTime();
	m_feedbackType = _T("");
	m_indication = _T("");
	m_idea = _T("");
	m_management = _T("");
	m_subject = _T("");
	m_content = _T("");
	m_remark = _T("");
	//}}AFX_DATA_INIT
}


void CFeedbackRecord::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFeedbackRecord)
	DDX_Control(pDX, IDC_LIST, m_list);
	DDX_Text(pDX, IDC_RECEIVER, m_receiver);
	DDX_Text(pDX, IDC_SENDOR, m_sendor);
	DDX_DateTimeCtrl(pDX, IDC_FEEDBACKDATE, m_feedbackDate);
	DDX_CBString(pDX, IDC_FEEDBACKTYPE, m_feedbackType);
	DDX_Text(pDX, IDC_INDICATION, m_indication);
	DDX_Text(pDX, IDC_IDEA, m_idea);
	DDX_Text(pDX, IDC_MANAGEMENT, m_management);
	DDX_Text(pDX, IDC_SUBJECT, m_subject);
	DDX_Text(pDX, IDC_CONTENT, m_content);
	DDX_Text(pDX, IDC_REMARK, m_remark);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFeedbackRecord, CDialog)
	//{{AFX_MSG_MAP(CFeedbackRecord)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_BN_CLICKED(IDC_SAVE, OnSave)
	ON_BN_CLICKED(IDC_CANCELLATION, OnCancellation)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFeedbackRecord message handlers

void CFeedbackRecord::OnAdd() 
{
	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(true);
	cwnd_sendor->EnableWindow(true);
	cwnd_feedbackDate->EnableWindow(true);
	cwnd_feedbackType->EnableWindow(true);
	cwnd_indication->EnableWindow(true);
	cwnd_idea->EnableWindow(true);
	cwnd_management->EnableWindow(true);
	cwnd_subject->EnableWindow(true);
	cwnd_content->EnableWindow(true);
	cwnd_remark->EnableWindow(true);

	cwnd_add->EnableWindow(false);
	cwnd_cancel->EnableWindow(true);
	cwnd_delete->EnableWindow(false);
	cwnd_modify->EnableWindow(false);
	cwnd_save->EnableWindow(true);
	cwnd_exit->EnableWindow(false);

	m_receiver = _T("");
	m_sendor = _T("");
	m_feedbackDate = COleDateTime::GetCurrentTime();
	m_feedbackType = _T("");
	m_indication = _T("");
	m_idea = _T("");
	m_management = _T("");
	m_subject = _T("");
	m_content = _T("");
	m_remark = _T("");

	flag=1;

	UpdateData(false);
	
}

void CFeedbackRecord::OnDelete() 
{
	UpdateData(true);

	CFeedback feedback;
	feedback.sqlDelete(m_subject);

	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(false);
	cwnd_sendor->EnableWindow(false);
	cwnd_feedbackDate->EnableWindow(false);
	cwnd_feedbackType->EnableWindow(false);
	cwnd_indication->EnableWindow(false);
	cwnd_idea->EnableWindow(false);
	cwnd_management->EnableWindow(false);
	cwnd_subject->EnableWindow(false);
	cwnd_content->EnableWindow(false);
	cwnd_remark->EnableWindow(false);

	cwnd_add->EnableWindow(true);
	cwnd_cancel->EnableWindow(false);
	cwnd_delete->EnableWindow(false);
	cwnd_modify->EnableWindow(false);
	cwnd_save->EnableWindow(false);
	cwnd_exit->EnableWindow(true);

	m_receiver = _T("");
	m_sendor = _T("");
	m_feedbackDate = COleDateTime::GetCurrentTime();
	m_feedbackType = _T("");
	m_indication = _T("");
	m_idea = _T("");
	m_management = _T("");
	m_subject = _T("");
	m_content = _T("");
	m_remark = _T("");

	Refresh();

	UpdateData(false);
}

void CFeedbackRecord::OnModify() 
{
	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(true);
	cwnd_sendor->EnableWindow(true);
	cwnd_feedbackDate->EnableWindow(true);
	cwnd_feedbackType->EnableWindow(true);
	cwnd_indication->EnableWindow(true);
	cwnd_idea->EnableWindow(true);
	cwnd_management->EnableWindow(true);
//	cwnd_subject->EnableWindow(true);
	cwnd_content->EnableWindow(true);
	cwnd_remark->EnableWindow(true);

	cwnd_add->EnableWindow(false);
	cwnd_cancel->EnableWindow(true);
	cwnd_delete->EnableWindow(false);
	cwnd_modify->EnableWindow(false);
	cwnd_save->EnableWindow(true);
	cwnd_exit->EnableWindow(false);

	flag=2;

	UpdateData(false);
}

void CFeedbackRecord::OnSave() 
{
	UpdateData(true);

	if(flag==1)
	{
		CFeedback feedback;
		
		feedback.SetFeedbackDate(m_feedbackDate);
		feedback.SetReceiver(m_receiver);
		feedback.SetSendor(m_sendor);
		feedback.SetFeedbackType(m_feedbackType);
		feedback.SetIndication(m_indication);
		feedback.SetIdea(m_idea);
		feedback.SetManagement(m_management);
		feedback.SetSubject(m_subject);
		feedback.SetContent(m_content);
		feedback.SetRemark(m_remark);

		feedback.sqlInsert();
	}
	else if(flag==2)
	{
		CFeedback feedback;
		
		feedback.SetFeedbackDate(m_feedbackDate);
		feedback.SetReceiver(m_receiver);
		feedback.SetSendor(m_sendor);
		feedback.SetFeedbackType(m_feedbackType);
		feedback.SetIndication(m_indication);
		feedback.SetIdea(m_idea);
		feedback.SetManagement(m_management);
		feedback.SetSubject(m_subject);
		feedback.SetContent(m_content);
		feedback.SetRemark(m_remark);

		feedback.sqlUpdate(m_subject);
	}

	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(false);
	cwnd_sendor->EnableWindow(false);
	cwnd_feedbackDate->EnableWindow(false);
	cwnd_feedbackType->EnableWindow(false);
	cwnd_indication->EnableWindow(false);
	cwnd_idea->EnableWindow(false);
	cwnd_management->EnableWindow(false);
	cwnd_subject->EnableWindow(false);
	cwnd_content->EnableWindow(false);
	cwnd_remark->EnableWindow(false);

	cwnd_add->EnableWindow(true);
	cwnd_cancel->EnableWindow(false);
	cwnd_delete->EnableWindow(true);
	cwnd_modify->EnableWindow(true);
	cwnd_save->EnableWindow(false);
	cwnd_exit->EnableWindow(true);

	flag=0;
	Refresh();
	UpdateData(false);
}

void CFeedbackRecord::OnCancellation() 
{
	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(false);
	cwnd_sendor->EnableWindow(false);
	cwnd_feedbackDate->EnableWindow(false);
	cwnd_feedbackType->EnableWindow(false);
	cwnd_indication->EnableWindow(false);
	cwnd_idea->EnableWindow(false);
	cwnd_management->EnableWindow(false);
	cwnd_subject->EnableWindow(false);
	cwnd_content->EnableWindow(false);
	cwnd_remark->EnableWindow(false);

	cwnd_add->EnableWindow(true);
	cwnd_cancel->EnableWindow(false);
	cwnd_delete->EnableWindow(false);
	cwnd_modify->EnableWindow(false);
	cwnd_save->EnableWindow(false);
	cwnd_exit->EnableWindow(true);

	m_receiver = _T("");
	m_sendor = _T("");
	m_feedbackDate = COleDateTime::GetCurrentTime();
	m_feedbackType = _T("");
	m_indication = _T("");
	m_idea = _T("");
	m_management = _T("");
	m_subject = _T("");
	m_content = _T("");
	m_remark = _T("");
}

void CFeedbackRecord::OnExit() 
{
	this->OnCancel();
}

BOOL CFeedbackRecord::OnInitDialog() 
{
	CDialog::OnInitDialog();

	DWORD style;
	style=m_list.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_list.SetExtendedStyle(style);
	
	m_list.InsertColumn(0,"来函日期",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"接受人",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"主题",LVCFMT_LEFT,100);
	
	cwnd_list= GetDlgItem(IDC_LIST);
	cwnd_receiver= GetDlgItem(IDC_RECEIVER);
	cwnd_sendor= GetDlgItem(IDC_SENDOR);
	cwnd_feedbackDate= GetDlgItem(IDC_FEEDBACKDATE);
	cwnd_feedbackType= GetDlgItem(IDC_FEEDBACKTYPE);
	cwnd_indication= GetDlgItem(IDC_INDICATION);
	cwnd_idea= GetDlgItem(IDC_IDEA);
	cwnd_management= GetDlgItem(IDC_MANAGEMENT);
	cwnd_subject= GetDlgItem(IDC_SUBJECT);
	cwnd_content= GetDlgItem(IDC_CONTENT);
	cwnd_remark= GetDlgItem(IDC_REMARK);

	cwnd_add= GetDlgItem(IDC_ADD);
	cwnd_cancel= GetDlgItem(IDC_CANCELLATION);
	cwnd_delete= GetDlgItem(IDC_DELETE);
	cwnd_modify= GetDlgItem(IDC_MODIFY);
	cwnd_save= GetDlgItem(IDC_SAVE);
	cwnd_exit= GetDlgItem(IDC_EXIT);

	flag= 0;

	_RecordsetPtr m_pRecordset;

	CString strSQL;
	strSQL="select * from feedbackRecord";
	HRESULT hTRes;
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((COfficeApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
		int i=0;
		
		while(!(m_pRecordset->adoEOF))
		{
			m_list.InsertItem(i,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("feedbackDate")));
			m_list.SetItemText(i,1,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("receiver")));
			m_list.SetItemText(i,2,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("subject")));
			
			i++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
	}
	
	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(false);
	cwnd_sendor->EnableWindow(false);
	cwnd_feedbackDate->EnableWindow(false);
	cwnd_feedbackType->EnableWindow(false);
	cwnd_indication->EnableWindow(false);
	cwnd_idea->EnableWindow(false);
	cwnd_management->EnableWindow(false);
	cwnd_subject->EnableWindow(false);
	cwnd_content->EnableWindow(false);
	cwnd_remark->EnableWindow(false);

	cwnd_add->EnableWindow(true);
	cwnd_cancel->EnableWindow(false);
	cwnd_delete->EnableWindow(false);
	cwnd_modify->EnableWindow(false);
	cwnd_save->EnableWindow(false);
	cwnd_exit->EnableWindow(true);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CFeedbackRecord::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	UpdateData(true);
	POSITION pos = m_list.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos);
		m_subject=m_list.GetItemText(nFirstSelItem,2);
	}


	CFeedback feedback;
	feedback.GetData(m_subject);

	m_receiver = feedback.GetReceiver();
	m_sendor = feedback.GetSendor();
	m_feedbackDate = feedback.GetFeedbackDate();
	m_feedbackType = feedback.GetFeedbackType();
	m_indication = feedback.GetIndication();
	m_idea = feedback.GetIdea();
	m_management = feedback.GetManagement();
	m_subject = feedback.GetSubject();
	m_content = feedback.GetContent();
	m_remark = feedback.GetRemark();

	cwnd_list->EnableWindow(true);
	cwnd_receiver->EnableWindow(false);
	cwnd_sendor->EnableWindow(false);
	cwnd_feedbackDate->EnableWindow(false);
	cwnd_feedbackType->EnableWindow(false);
	cwnd_indication->EnableWindow(false);
	cwnd_idea->EnableWindow(false);
	cwnd_management->EnableWindow(false);
	cwnd_subject->EnableWindow(false);
	cwnd_content->EnableWindow(false);
	cwnd_remark->EnableWindow(false);

	cwnd_add->EnableWindow(true);
	cwnd_cancel->EnableWindow(false);
	cwnd_delete->EnableWindow(true);
	cwnd_modify->EnableWindow(true);
	cwnd_save->EnableWindow(false);
	cwnd_exit->EnableWindow(true);
	
	UpdateData(false);
	
	*pResult = 0;
}

void CFeedbackRecord::Refresh()
{
	m_list.DeleteAllItems();
	_RecordsetPtr m_pRecordset;

	CString strSQL;
	strSQL="select * from feedbackRecord";
	HRESULT hTRes;
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((COfficeApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
		int i=0;
		
		while(!(m_pRecordset->adoEOF))
		{
			m_list.InsertItem(i,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("feedbackDate")));
			m_list.SetItemText(i,1,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("receiver")));
			m_list.SetItemText(i,2,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("subject")));
			
			i++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -