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

📄 statisticsdlg.cpp

📁 我上载了那么多怎么都说已经有上载的啦
💻 CPP
字号:
// StatisticsDlg.cpp : implementation file
//

#include "stdafx.h"
#include "gpmis.h"
#include "StatisticsDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CStatisticsDlg dialog

#define NUM1_COLUMNS	6
static _TCHAR *_gszLabel1[NUM1_COLUMNS] =
{
    _T("项目"), _T("1"), _T("2"), _T("3"), _T("4"), _T("5")
};
static int _gnFmt1[NUM1_COLUMNS] = 
{
	LVCFMT_LEFT, LVCFMT_CENTER , LVCFMT_CENTER, LVCFMT_CENTER, LVCFMT_CENTER, LVCFMT_CENTER 
};
static int _gnWidth1[NUM1_COLUMNS] = 
{
	48, 45, 45, 45, 45, 45
};

#define NUM2_COLUMNS	4
static _TCHAR *_gszLabel2[NUM2_COLUMNS] =
{
    _T("项目"), _T("a"), _T("b"), _T("c")
};
static int _gnFmt2[NUM2_COLUMNS] = 
{
	LVCFMT_LEFT, LVCFMT_CENTER , LVCFMT_CENTER, LVCFMT_CENTER
};
static int _gnWidth2[NUM2_COLUMNS] = 
{
	48, 45, 45, 45
};

#define NUM3_COLUMNS	7
static _TCHAR *_gszLabel3[NUM3_COLUMNS] =
{
    _T("项目"), _T("G"), _T("S"), _T("X"), _T(" "), _T("高级"), _T("中级")
};
static int _gnFmt3[NUM3_COLUMNS] = 
{
	LVCFMT_LEFT, LVCFMT_CENTER , LVCFMT_CENTER, LVCFMT_CENTER, LVCFMT_CENTER , LVCFMT_CENTER, LVCFMT_CENTER
};
static int _gnWidth3[NUM3_COLUMNS] = 
{
	48, 45, 45, 45, 25, 50, 50
};

CStatisticsDlg::CStatisticsDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CStatisticsDlg::IDD, pParent)
{
	m_pThemeView = (CThemeView*)pParent;

	//{{AFX_DATA_INIT(CStatisticsDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CStatisticsDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStatisticsDlg)
	DDX_Control(pDX, IDC_TEACHER_LIST, m_lvwTeacher);
	DDX_Control(pDX, IDC_KIND_LIST, m_lvwKind);
	DDX_Control(pDX, IDC_TYPE_LIST, m_lvwType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStatisticsDlg, CDialog)
	//{{AFX_MSG_MAP(CStatisticsDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStatisticsDlg message handlers

BOOL CStatisticsDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	HICON hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	SetIcon(hIcon, TRUE);	// Set big icon
	SetIcon(hIcon, FALSE);// Set small icon
	
	// TODO: Add extra initialization here
	DrawLabel();
	DrawList();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CStatisticsDlg::DrawLabel()
{
	int i;
	LV_COLUMN lvc;

	// delete columns
	int sum = NUM1_COLUMNS;
	_TCHAR **szLabel = _gszLabel1;
	int *nWidth = _gnWidth1;
	int *nFmt = _gnFmt1;
	for(i = 0; i<sum; i++)
	{
		m_lvwType.DeleteColumn(0);
	}
	// insert columns
	lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

	for(i = 0; i<sum; i++)
	{
		lvc.iSubItem = i;
		lvc.pszText = szLabel[i];
		lvc.cx = nWidth[i];
		lvc.fmt = nFmt[i];
		m_lvwType.InsertColumn(i,&lvc);
	}

	m_lvwType.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
	m_lvwType.EnableToolTips(TRUE);

	// delete columns
	sum = NUM2_COLUMNS;
	szLabel = _gszLabel2;
	nWidth = _gnWidth2;
	nFmt = _gnFmt2;
	for(i = 0; i<sum; i++)
	{
		m_lvwKind.DeleteColumn(0);
	}
	// insert columns
	lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

	for(i = 0; i<sum; i++)
	{
		lvc.iSubItem = i;
		lvc.pszText = szLabel[i];
		lvc.cx = nWidth[i];
		lvc.fmt = nFmt[i];
		m_lvwKind.InsertColumn(i,&lvc);
	}

	m_lvwKind.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
	m_lvwKind.EnableToolTips(TRUE);

	// delete columns
	sum = NUM3_COLUMNS;
	szLabel = _gszLabel3;
	nWidth = _gnWidth3;
	nFmt = _gnFmt3;
	for(i = 0; i<sum; i++)
	{
		m_lvwTeacher.DeleteColumn(0);
	}
	// insert columns
	lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

	for(i = 0; i<sum; i++)
	{
		lvc.iSubItem = i;
		lvc.pszText = szLabel[i];
		lvc.cx = nWidth[i];
		lvc.fmt = nFmt[i];
		m_lvwTeacher.InsertColumn(i,&lvc);
	}

	m_lvwTeacher.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
	m_lvwTeacher.EnableToolTips(TRUE);
}

const char* sItem[] = {"数量", "百分比", "总数", "\0" };
void CStatisticsDlg::DrawList()
{
	LV_ITEM lvi;
	int i = 0;
	int j;
	char cNum[100];
	CString key;
	CString strName;

	// delete list items
	m_lvwType.DeleteAllItems();
	m_lvwKind.DeleteAllItems();
	m_lvwTeacher.DeleteAllItems();

	lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
	lvi.iSubItem = 0;
	lvi.iImage = 0;
	lvi.stateMask = LVIS_STATEIMAGEMASK;
	lvi.state = INDEXTOSTATEIMAGEMASK(1);

	for(i = 0; i < 3 ; i++)
	{
		sprintf(cNum,"%s",sItem[i]);
		lvi.iItem = i;
		lvi.pszText = (LPTSTR)cNum;
		m_lvwType.InsertItem(&lvi);
		m_lvwKind.InsertItem(&lvi);
		m_lvwTeacher.InsertItem(&lvi);

		// set SelectedItem text for additional columns

		if( i == 0 )
		{
			for(j = 1; j <= 5; j++)
			{
				CString strTemp;
				strTemp.Format("%d",m_pThemeView->m_nTypeSum[j-1]);
				m_lvwType.SetItemText(i, j, strTemp);
			}
			for(j = 1; j <= 3; j++)
			{
				CString strTemp;
				strTemp.Format("%d",m_pThemeView->m_nKindSum[j-1]);
				m_lvwKind.SetItemText(i, j, strTemp);
			}
			for(j = 1; j <= 3; j++)
			{
				CString strTemp;
				strTemp.Format("%d",m_pThemeView->m_nResearchSum[j-1]);
				m_lvwTeacher.SetItemText(i, j, strTemp);
			}
			for(j = 5; j <= 6; j++)
			{
				CString strTemp;
				strTemp.Format("%d",m_pThemeView->m_nLevelSum[j-5]);
				m_lvwTeacher.SetItemText(i, j, strTemp);
			}
		}
		if( i == 1 )
		{
			for(j = 1; j <= 5; j++)
			{
				CString strTemp;
				strTemp.Format("%d%%", int((float)m_pThemeView->m_nTypeSum[j-1]*100.0/(float)m_pThemeView->m_nThemeSum+0.5));
				m_lvwType.SetItemText(i, j, strTemp);
			}
			for(j = 1; j <= 3; j++)
			{
				CString strTemp;
				strTemp.Format("%d%%", int((float)m_pThemeView->m_nKindSum[j-1]*100.0/(float)m_pThemeView->m_nThemeSum+0.5));
				m_lvwKind.SetItemText(i, j, strTemp);
			}
			for(j = 1; j <= 3; j++)
			{
				CString strTemp;
				strTemp.Format("%d%%", int((float)m_pThemeView->m_nResearchSum[j-1]*100.0/(float)m_pThemeView->m_nTeacherSum+0.5));
				m_lvwTeacher.SetItemText(i, j, strTemp);
			}
			for(j = 5; j <= 6; j++)
			{
				CString strTemp;
				strTemp.Format("%d%%", int((float)m_pThemeView->m_nLevelSum[j-5]*100.0/(float)m_pThemeView->m_nTeacherSum+0.5));
				m_lvwTeacher.SetItemText(i, j, strTemp);
			}
		}
		if( i == 2 )
		{
			CString strTemp;
			strTemp.Format("%d",m_pThemeView->m_nThemeSum);
			m_lvwType.SetItemText(i, 1, strTemp);
			m_lvwKind.SetItemText(i, 1, strTemp);
			strTemp.Format("%d",m_pThemeView->m_nTeacherSum);
			m_lvwTeacher.SetItemText(i, 1, strTemp);
		}
			
	}
}

⌨️ 快捷键说明

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