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

📄 callboardmanagement.cpp

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

#include "stdafx.h"
#include "Office.h"
#include "CallboardManagement.h"
#include "CallboardClass.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCallboardManagement dialog


CCallboardManagement::CCallboardManagement(CWnd* pParent /*=NULL*/)
	: CDialog(CCallboardManagement::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCallboardManagement)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CCallboardManagement::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCallboardManagement)
	DDX_Control(pDX, IDC_LIST, m_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCallboardManagement, CDialog)
	//{{AFX_MSG_MAP(CCallboardManagement)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_FIRST, OnFirst)
	ON_BN_CLICKED(IDC_PREV, OnPrev)
	ON_BN_CLICKED(IDC_NEXT, OnNext)
	ON_BN_CLICKED(IDC_END, OnEnd)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCallboardManagement message handlers

void CCallboardManagement::OnDelete() 
{
	CCallboardClass callBoard;  //公告栏表数据库访问类
	callBoard.sqlDelete(m_content);	 //删除
	Refresh(); //刷新列表框
}

void CCallboardManagement::OnFirst() 
{
	m_list.SetItem(0, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);	
}

void CCallboardManagement::OnPrev() 
{
	POSITION pos = m_list.GetFirstSelectedItemPosition(); //获取单击位置
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos); //获取单击条目
		if(nFirstSelItem>1)
			m_list.SetItem(nFirstSelItem-1, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);//移动到下一个条目
	}	
}

void CCallboardManagement::OnNext() 
{
	POSITION pos = m_list.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos);
		if(nFirstSelItem<m_list.GetItemCount())
			m_list.SetItem(nFirstSelItem+1, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
	}	
}

void CCallboardManagement::OnEnd() 
{
	m_list.SetItem(m_list.GetItemCount()-1, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, LVIS_SELECTED, 0);
}

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

BOOL CCallboardManagement::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);

	_RecordsetPtr m_pRecordset;//记录集
	CString strSQL;
	strSQL="select * from callBoardRecord";//查询所有记录的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("publishDate"))); //发布日期
			m_list.SetItemText(i,1,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("staff"))); //发布人员
			m_list.SetItemText(i,2,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("content"))); //内容
			
			i++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();//记录集指针向后移动
		}
	}
	
	return TRUE;  
}

void CCallboardManagement::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	UpdateData(true);
	POSITION pos = m_list.GetFirstSelectedItemPosition(); //获取单击位置
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos); //获取单击条目
		m_content=m_list.GetItemText(nFirstSelItem,2); //获取单击的通告的内容
	}	
	*pResult = 0;
}

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

	CString strSQL;
	strSQL="select * from callBoardRecord";
	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("publishDate")));
			m_list.SetItemText(i,1,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("staff")));
			m_list.SetItemText(i,2,((COfficeApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("content")));
			
			i++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
	}
	UpdateData(false);
}

⌨️ 快捷键说明

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