📄 listctrlpage.cpp
字号:
// ListCtrlPage.cpp : implementation file
//
#include "stdafx.h"
#include "选题系统.h"
#include "ListCtrlPage.h"
#include "ResultSheet.h"
#include "选题系统Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CListCtrlPage property page
IMPLEMENT_DYNCREATE(CListCtrlPage, CPropertyPage)
CListCtrlPage::CListCtrlPage() : CPropertyPage(CListCtrlPage::IDD)
{
//{{AFX_DATA_INIT(CListCtrlPage)
m_fangshi = 3;
//}}AFX_DATA_INIT
}
CListCtrlPage::~CListCtrlPage()
{
}
void CListCtrlPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CListCtrlPage)
DDX_Control(pDX, IDC_LIST1, m_result);
DDX_Radio(pDX, IDC_RADIO1, m_fangshi);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CListCtrlPage, CPropertyPage)
//{{AFX_MSG_MAP(CListCtrlPage)
ON_BN_CLICKED(IDC_RADIO1, OnBigIcon)
ON_BN_CLICKED(IDC_RADIO2, OnSmallIcon)
ON_BN_CLICKED(IDC_RADIO3, OnList)
ON_BN_CLICKED(IDC_RADIO4, OnReport)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CListCtrlPage message handlers
BOOL CListCtrlPage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
int i,iPos;
CMyApp *pApp=(CMyApp *)AfxGetApp();//创建图象列表
smallimage.Create(16,16,TRUE,10,10);
smallimage.Add(pApp->LoadIcon(IDI_ICON1));
smallimage.Add(pApp->LoadIcon(IDI_ICON2));
smallimage.Add(pApp->LoadIcon(IDI_ICON3));
smallimage.Add(pApp->LoadIcon(IDI_ICON4));
smallimage.Add(pApp->LoadIcon(IDI_ICON5));
smallimage.Add(pApp->LoadIcon(IDI_ICON6));
smallimage.Add(pApp->LoadIcon(IDI_ICON7));
smallimage.Add(pApp->LoadIcon(IDI_ICON8));
smallimage.Add(pApp->LoadIcon(IDI_ICON9));
smallimage.Add(pApp->LoadIcon(IDI_ICON10));
m_result.SetImageList(&smallimage,LVSIL_SMALL);
bigimage.Create(32,32,TRUE,10,10);
bigimage.Add(pApp->LoadIcon(IDI_ICON1));
bigimage.Add(pApp->LoadIcon(IDI_ICON2));
bigimage.Add(pApp->LoadIcon(IDI_ICON3));
bigimage.Add(pApp->LoadIcon(IDI_ICON4));
bigimage.Add(pApp->LoadIcon(IDI_ICON5));
bigimage.Add(pApp->LoadIcon(IDI_ICON6));
bigimage.Add(pApp->LoadIcon(IDI_ICON7));
bigimage.Add(pApp->LoadIcon(IDI_ICON8));
bigimage.Add(pApp->LoadIcon(IDI_ICON9));
bigimage.Add(pApp->LoadIcon(IDI_ICON10));
m_result.SetImageList(&bigimage,LVSIL_NORMAL);
LV_ITEM lvitem;
LV_COLUMN lvcol;
lvcol.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt=LVCFMT_LEFT;
i=0;
lvcol.pszText="题号 ";
lvcol.iSubItem=i;
lvcol.cx=70;
m_result.InsertColumn(i++,&lvcol);
lvcol.pszText="学号";
lvcol.iSubItem=i;
lvcol.cx=100;
m_result.InsertColumn(i++,&lvcol);
lvcol.pszText="姓名";
lvcol.iSubItem=i;
lvcol.cx=80;
m_result.InsertColumn(i++,&lvcol);
CResultSheet *parent1=(CResultSheet *)GetParent();
CMyDlg *parent= (CMyDlg *)parent1->GetParent();
int num=parent->resultmap.GetCount ();
CString name,xuehao;
int timu;
POSITION ps;
char buf[3];
ps=parent->resultmap.GetStartPosition ();
for(int j=0;j<num;j++)
{
parent->resultmap .GetNextAssoc (ps,xuehao,timu);
parent->xueshengrecord .Lookup (xuehao,name);
lvitem.mask=LVIF_TEXT|LVIF_IMAGE;
lvitem.iItem=j;
lvitem.iSubItem=0;
sprintf(buf,"%d",timu);
lvitem.pszText=buf;
lvitem.iImage=timu-1;
iPos=m_result.InsertItem(&lvitem);
lvitem.mask=LVIF_TEXT;
lvitem.iSubItem=1;
lvitem.iItem=iPos;
lvitem.pszText=xuehao.GetBuffer (xuehao.GetLength ()+1);
m_result.SetItem (&lvitem);
lvitem.iSubItem=2;
lvitem.pszText=name.GetBuffer (name.GetLength ()+1);
m_result.SetItem(&lvitem);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CListCtrlPage::OnBigIcon()
{
// TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_result.m_hWnd,GWL_STYLE);//获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //清除显示方式位
lStyle|=LVS_ICON; //设置显示方式
SetWindowLong(m_result.m_hWnd,GWL_STYLE,lStyle);//设置窗口类型
}
void CListCtrlPage::OnSmallIcon()
{
LONG lStyle;
lStyle=GetWindowLong(m_result.m_hWnd,GWL_STYLE);//获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //清除显示方式位
lStyle|=LVS_SMALLICON; //设置显示方式
SetWindowLong(m_result.m_hWnd,GWL_STYLE,lStyle);//设置窗口类型
// TODO: Add your control notification handler code here
}
void CListCtrlPage::OnList()
{
// TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_result.m_hWnd,GWL_STYLE);//获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //清除显示方式位
lStyle|=LVS_LIST; //设置显示方式
SetWindowLong(m_result.m_hWnd,GWL_STYLE,lStyle);//设置窗口类型
}
void CListCtrlPage::OnReport()
{
// TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_result.m_hWnd,GWL_STYLE);//获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //清除显示方式位
lStyle|=LVS_REPORT; //设置显示方式
SetWindowLong(m_result.m_hWnd,GWL_STYLE,lStyle);//设置窗口类型
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -