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

📄 letterrecord.cpp

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

#include "stdafx.h"
#include "Office.h"
#include "LetterRecord.h"
#include "Letter.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLetterRecord dialog


CLetterRecord::CLetterRecord(CWnd* pParent /*=NULL*/)
	: CDialog(CLetterRecord::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLetterRecord)
	m_sendor = _T("");
	m_receiver = _T("");
	m_letterDate = COleDateTime::GetCurrentTime();
	m_letterType = _T("");
	m_letterCharacter = _T("");
	m_subject = _T("");
	m_content = _T("");
	m_remark = _T("");
	//}}AFX_DATA_INIT
}


void CLetterRecord::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLetterRecord)
	DDX_Control(pDX, IDC_RECEIVER, m_receiverCombo);
	DDX_Control(pDX, IDC_LIST, m_list);
	DDX_Text(pDX, IDC_SENDOR, m_sendor);
	DDX_CBString(pDX, IDC_RECEIVER, m_receiver);
	DDX_DateTimeCtrl(pDX, IDC_LETTERDATE, m_letterDate);
	DDX_CBString(pDX, IDC_LETTERTYPE, m_letterType);
	DDX_CBString(pDX, IDC_LETTERCHARACTER, m_letterCharacter);
	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(CLetterRecord, CDialog)
	//{{AFX_MSG_MAP(CLetterRecord)
	ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
	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)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLetterRecord message handlers

BOOL CLetterRecord::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);
	m_list.InsertColumn(3,"主题",LVCFMT_LEFT,100);
	
	cwnd_list= GetDlgItem(IDC_LIST); //获取列表框窗口控制指针
	cwnd_sendor= GetDlgItem(IDC_SENDOR); //获取发件人窗口控制指针
	cwnd_receiver= GetDlgItem(IDC_RECEIVER); //获取接受人窗口控制指针
	cwnd_letterDate= GetDlgItem(IDC_LETTERDATE); //获取信函日期窗口控制指针
	cwnd_letterType= GetDlgItem(IDC_LETTERTYPE); //获取信函类别窗口控制指针
	cwnd_letterCharacter= GetDlgItem(IDC_LETTERCHARACTER); //获取信函性质窗口控制指针
	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); //获取退出按钮控制指针

	_RecordsetPtr m_pRecordset; //记录集
	CString strSQL;
	strSQL="select * from letterRecord"; //sql语句
	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("letterDate")));//信函日期
			m_list.SetItemText(i,1,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("sendor"))); //发件人
			m_list.SetItemText(i,2,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("receiver"))); //接收人
			m_list.SetItemText(i,3,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("subject"))); //主题

			i++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();//记录集指针向后移动
		}
	}

	cwnd_list->EnableWindow(true); //列表框控件可用
	cwnd_sendor->EnableWindow(false);//发件人控件不可用
	cwnd_receiver->EnableWindow(false);//接受人控件不可用
	cwnd_letterDate->EnableWindow(false);//信函日期控件不可用
	cwnd_letterType->EnableWindow(false);//信函类型控件不可用
	cwnd_letterCharacter->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);//退出按钮控件可用

	flag= 0;  //没有需要保存的记录
	
	return TRUE;  
}

void CLetterRecord::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	POSITION pos = m_list.GetFirstSelectedItemPosition(); //获取单击的位置
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos);//获取单击的条目
		m_subject=m_list.GetItemText(nFirstSelItem,3); //获取单击的项的主题
	}

	CLetter letter; //信函记录表读取类
	letter.GetData(m_subject);//获取记录信息
	
	m_sendor = letter.GetSendor(); //发件人
	m_receiver = letter.GetReceiver(); //接收人
	m_letterDate = letter.GetLetterDate(); //信函日期
	m_letterType = letter.GetLetterType(); //信函类型
	m_letterCharacter = letter.GetLetterCharacter(); //信函性质
	m_subject = letter.GetSubject(); //主题
	m_content = letter.GetContent(); //内容
	m_remark = letter.GetRemark(); //备注

	flag= 0;  //未进行增加或者修改
  
	cwnd_list->EnableWindow(true); //列表框控件可用
	cwnd_sendor->EnableWindow(false); //发件人控件不可用
	cwnd_receiver->EnableWindow(false); //接收人控件不可用
	cwnd_letterDate->EnableWindow(false); //信函日期控件不可用
	cwnd_letterType->EnableWindow(false); //信函类型控件不可用
	cwnd_letterCharacter->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 CLetterRecord::OnAdd() 
{
	cwnd_list->EnableWindow(true);
	cwnd_sendor->EnableWindow(true);
	cwnd_receiver->EnableWindow(true);
	cwnd_letterDate->EnableWindow(true);
	cwnd_letterType->EnableWindow(true);
	cwnd_letterCharacter->EnableWindow(true);
	cwnd_subject->EnableWindow(true);
	cwnd_content->EnableWindow(true);
	cwnd_remark->EnableWindow(true);

	cwnd_add->EnableWindow(false);
	cwnd_cancel->EnableWindow(true);

⌨️ 快捷键说明

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