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

📄 historydlg.cpp

📁 这些源代码
💻 CPP
字号:
// HistoryDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Rich.h"
#include "HistoryDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CHistoryDlg dialog

CHistoryDlg::CHistoryDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CHistoryDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CHistoryDlg)
	m_Creator = _T("");
	m_CreatedDate = _T("");
	m_CreatedTime = _T("");
	//}}AFX_DATA_INIT
	m_pData = NULL;
}


void CHistoryDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CHistoryDlg)
	DDX_Control(pDX, IDC_HISTORYLIST, m_HistoryList);
	DDX_Text(pDX, IDC_CREATEDBY, m_Creator);
	DDX_Text(pDX, IDC_CREATEDDATE, m_CreatedDate);
	DDX_Text(pDX, IDC_CREATEDTIME, m_CreatedTime);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CHistoryDlg, CDialog)
	//{{AFX_MSG_MAP(CHistoryDlg)
	ON_NOTIFY(LVN_GETDISPINFO, IDC_HISTORYLIST, OnGetdispinfoHistorylist)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHistoryDlg message handlers

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

char *Titles[] =
	{
	"Last User",
	"Date Modified",
	"Time Modified"
	};
int Widths [] = {125, 115, 115};
#define		LISTCOLUMNS		(sizeof (Titles) / sizeof (char *))


	for (int i = 0; i < LISTCOLUMNS; ++i)
	{
		LV_COLUMN	lvc;
		lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
		lvc.fmt = LVCFMT_LEFT;
		lvc.iSubItem = i;
		lvc.pszText = Titles [i];
		lvc.cx = Widths [i];
		m_HistoryList.InsertColumn (i, &lvc);
	}
	if (m_pData == NULL)
		return (TRUE);
	m_Creator = m_pData->m_CreatedBy;
	if (m_pData->m_CreatedTime > 0)
	{
		m_CreatedDate.Format ("%02d/%02d/%04d",
			m_pData->m_CreatedTime.GetMonth(),
			m_pData->m_CreatedTime.GetDay(),
			m_pData->m_CreatedTime.GetYear());

		m_CreatedTime.Format ("%02d:%02d:%02d",
			m_pData->m_CreatedTime.GetHour(),
			m_pData->m_CreatedTime.GetMinute(),
			m_pData->m_CreatedTime.GetSecond());
	}
	int nCount = m_pData->m_History.GetSize ();
	if (nCount)
	{
	LV_ITEM		lvitem;
		for (int i = 0; i < nCount; ++i)
		{
			CString strText;
			lvitem.mask = LVIF_TEXT;
			lvitem.iItem = i;
			lvitem.iSubItem = 0;
			lvitem.pszText = LPSTR_TEXTCALLBACK;
			m_HistoryList.InsertItem (&lvitem);
		}
	}
	UpdateData (FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CHistoryDlg::OnGetdispinfoHistorylist(NMHDR* pNMHDR, LRESULT* pResult) 
{
CString		string;

	LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
	int i = pDispInfo->item.iItem;
	if (pDispInfo->item.mask & LVIF_TEXT)
	{
		switch (pDispInfo->item.iSubItem)
		{
			case 0:
				::lstrcpy (pDispInfo->item.pszText, (LPCSTR) m_pData->m_History[i].m_ModUser);
				break;
			case 1:
				if (m_pData->m_History[i].m_ModTime <= 0)
					break;
				string.Format ("%02d/%02d/%04d",
					m_pData->m_History[i].m_ModTime.GetMonth(),
					m_pData->m_History[i].m_ModTime.GetDay(),
					m_pData->m_History[i].m_ModTime.GetYear());
				::lstrcpy (pDispInfo->item.pszText, (LPCSTR) string);
				break;
			case 2:
				if (m_pData->m_History[i].m_ModTime <= 0)
					break;
				string.Format ("%02d:%02d:%02d",
					m_pData->m_History[i].m_ModTime.GetHour(),
					m_pData->m_History[i].m_ModTime.GetMinute(),
					m_pData->m_History[i].m_ModTime.GetSecond());
				::lstrcpy (pDispInfo->item.pszText, (LPCSTR) string);
				break;
		}
	}
	*pResult = 0;
}

⌨️ 快捷键说明

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