📄 stuview.cpp
字号:
// StuView.cpp : implementation file
//
#include "stdafx.h"
#include "Team2.h"
#include "StuView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStuView dialog
CStuView::CStuView(CWnd* pParent /*=NULL*/)
: CDialog(CStuView::IDD, pParent)
{
//{{AFX_DATA_INIT(CStuView)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CStuView::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CStuView)
DDX_Control(pDX, IDC_STULIST_CAB, m_stulist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CStuView, CDialog)
//{{AFX_MSG_MAP(CStuView)
ON_NOTIFY(HDN_ITEMDBLCLICK, IDC_STULIST_CAB, OnItemdblclickStulist)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CStuView message handlers
BOOL CStuView::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
DWORD style=m_stulist.GetExtendedStyle();
m_stulist.SetExtendedStyle(style|LVS_EX_GRIDLINES);
m_stulist.InsertColumn(0,"学员证号");
m_stulist.InsertColumn(1,"姓名");
m_stulist.InsertColumn(2,"性别");
m_stulist.InsertColumn(3,"出生日期");
m_stulist.InsertColumn(4,"籍贯");
m_stulist.InsertColumn(5,"家庭住址");
m_stulist.InsertColumn(6,"家庭电话");
m_stulist.InsertColumn(7,"政治面貌");
m_stulist.InsertColumn(8,"奖惩记录");
m_stulist.InsertColumn(9,"特长");
m_stulist.InsertColumn(10,"专业");
RECT rectbasic;
m_stulist.GetWindowRect(&rectbasic);
int widbasic = rectbasic.right - rectbasic.left;
m_stulist.SetColumnWidth(0,widbasic/11);
m_stulist.SetColumnWidth(1,widbasic/11);
m_stulist.SetColumnWidth(2,widbasic/11);
m_stulist.SetColumnWidth(3,widbasic/11);
m_stulist.SetColumnWidth(4,widbasic/11);
m_stulist.SetColumnWidth(5,widbasic/11);
m_stulist.SetColumnWidth(6,widbasic/11);
m_stulist.SetColumnWidth(7,widbasic/11);
m_stulist.SetColumnWidth(8,widbasic/11);
m_stulist.SetColumnWidth(9,widbasic/11);
m_stulist.SetColumnWidth(10,widbasic/11);
m_stulist.SetExtendedStyle(LVS_EX_FULLROWSELECT);
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CStuView::OnItemdblclickStulist(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
// TODO: Add your control notification handler code here
int i=m_stulist.GetSelectionMark();
stu_id=m_stulist.GetItemText(i,0);
stu_name=m_stulist.GetItemText(i,1);
*pResult = 0;
}
void CStuView::RefreshData()
{
UpdateData(true); // 更新数据
m_stulist.DeleteAllItems(); // 清空列表框
if(!db.Open("db1"))return;//连接数据库
int i=0;
CRecordset rs(&db);
CString str_sex;
CString s_id,s_name,s_native,s_homeaddr,s_hometel,s_polity,s_ap,s_talent,s_spe;
CDBVariant varValue;
char buf[20];
rs.Open(CRecordset::forwardOnly,"select * from stu_info where id like '"+subteam+"+*'");
while (!rs.IsEOF())
{
//得到数据
rs.GetFieldValue("id",s_id);
rs.GetFieldValue("name",s_name);
rs.GetFieldValue("sex",str_sex);
rs.GetFieldValue("birth",varValue);
sprintf(buf,"%d-%d-%d",varValue.m_pdate->year,varValue.m_pdate->month,varValue.m_pdate->day);
rs.GetFieldValue("native",s_native);
rs.GetFieldValue("homeaddr",s_homeaddr);
rs.GetFieldValue("hometel",s_hometel);
rs.GetFieldValue("polity",s_polity);
rs.GetFieldValue("awardpunish",s_ap);
rs.GetFieldValue("talent",s_talent);
rs.GetFieldValue("spec",s_spe);
rs.Close();
//加入列表
m_stulist.InsertItem(i,"");
m_stulist.SetItemText(i,0,s_id);
m_stulist.SetItemText(i,1,s_name);
m_stulist.SetItemText(i,2,str_sex);
m_stulist.SetItemText(i,3,buf);
m_stulist.SetItemText(i,4,s_native);
m_stulist.SetItemText(i,5,s_homeaddr);
m_stulist.SetItemText(i,6,s_hometel);
m_stulist.SetItemText(i,7,s_polity);
m_stulist.SetItemText(i,8,s_ap);
m_stulist.SetItemText(i,9,s_talent);
m_stulist.SetItemText(i,10,s_spe);
i++;
rs.MoveNext();
}
rs.Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -