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

📄 treectrlpage.cpp

📁 这是一个用MFC做的选题系统
💻 CPP
字号:
// TreeCtrlPage.cpp : implementation file
//

#include "stdafx.h"
#include "选题系统.h"
#include "TreeCtrlPage.h"
#include "ResultSheet.h"
#include "选题系统Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTreeCtrlPage property page

IMPLEMENT_DYNCREATE(CTreeCtrlPage, CPropertyPage)

CTreeCtrlPage::CTreeCtrlPage() : CPropertyPage(CTreeCtrlPage::IDD)
{
	//{{AFX_DATA_INIT(CTreeCtrlPage)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CTreeCtrlPage::~CTreeCtrlPage()
{
}

void CTreeCtrlPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTreeCtrlPage)
	DDX_Control(pDX, IDC_TREE1, m_resulttree);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTreeCtrlPage, CPropertyPage)
	//{{AFX_MSG_MAP(CTreeCtrlPage)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTreeCtrlPage message handlers

BOOL CTreeCtrlPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// TODO: Add extra initialization here
	CMyApp *pApp=(CMyApp *)AfxGetApp();//创建图象列表
    Cil1.Create(32,32,ILC_COLORDDB,11,11);
	Cil1.Add(pApp->LoadIcon(IDI_ICON11));
    Cil1.Add(pApp->LoadIcon(IDI_ICON1));
    Cil1.Add(pApp->LoadIcon(IDI_ICON2));
	Cil1.Add(pApp->LoadIcon(IDI_ICON3));
    Cil1.Add(pApp->LoadIcon(IDI_ICON4));
	Cil1.Add(pApp->LoadIcon(IDI_ICON5));
    Cil1.Add(pApp->LoadIcon(IDI_ICON6));
	Cil1.Add(pApp->LoadIcon(IDI_ICON7));
    Cil1.Add(pApp->LoadIcon(IDI_ICON8));
	Cil1.Add(pApp->LoadIcon(IDI_ICON9));
    Cil1.Add(pApp->LoadIcon(IDI_ICON10));
    m_resulttree.SetImageList(&Cil1,TVSIL_NORMAL); //设置图象列表
    int i,j;
    HTREEITEM hRoot,hCur;//树控制项目句柄
    TV_INSERTSTRUCT TCItem;//插入数据项数据结构
    TCItem.hParent=TVI_ROOT;//增加根项
    TCItem.hInsertAfter=TVI_LAST;//在最后项之后
    TCItem.item.mask=TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//设屏蔽
    TCItem.item.pszText="结果";
    TCItem.item.lParam=0;//序号
    TCItem.item.iImage=0;//正常图标
    TCItem.item.iSelectedImage=0;//选中时图标
    hRoot=m_resulttree.InsertItem(&TCItem);//返回根项句柄
	CResultSheet *parent1=(CResultSheet *)GetParent();
    CMyDlg *parent= (CMyDlg *)parent1->GetParent();
	 CString str;
	 char buf[3];
	 int num;
	 CString name,xuehao;
	 int timu;
	 int renshu=1;
	 int renshusum=parent->resultmap .GetCount ();
    for(i=1;(renshu<=renshusum)&&(i<=parent->TiHao);i++){//增加题号
		num=parent->renshu_timu [i];
		TCItem.hParent=hRoot;
		sprintf(buf,"%d",num);
		TCItem.item.pszText=buf;
		TCItem.item.lParam=i*num;//子项序号
		TCItem.item.lParam=i;//序号
        TCItem.item.iImage=i;//正常图标
        TCItem.item.iSelectedImage=i;//选中时图标
		hCur=m_resulttree.InsertItem(&TCItem);
		POSITION ps=parent->resultmap .GetStartPosition ();
		for(j=0;(j<num);j++){//增加各个题目的学生
			TCItem.hParent=hCur;
			while(ps)
			{
				parent->resultmap .GetNextAssoc (ps,xuehao,timu);				
			    if(timu==i)
				{
					parent->xueshengrecord .Lookup (xuehao,name);
					str=xuehao+"     ";
					str+=name;
					TCItem.item.pszText=str.GetBuffer (str.GetLength ()+1);
					break;
				}
			}
			TCItem.item.lParam=i*num+(j+1);//子项序号
			renshu++;
			m_resulttree.InsertItem(&TCItem);
		}
	    m_resulttree.Expand(hCur,TVE_EXPAND);//展开树
    }
    m_resulttree.Expand(hRoot,TVE_EXPAND);//展开上一级树    
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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