📄 申花队队员管理系统view.cpp
字号:
// 申花队队员管理系统View.cpp : implementation of the CMyView class
//
#include "stdafx.h"
#include "申花队队员管理系统.h"
#include "申花队队员管理系统Set.h"
#include "申花队队员管理系统Doc.h"
#include "申花队队员管理系统View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyView
IMPLEMENT_DYNCREATE(CMyView, CRecordView)
BEGIN_MESSAGE_MAP(CMyView, CRecordView)
//{{AFX_MSG_MAP(CMyView)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
ON_BN_CLICKED(IDC_MODIFY, OnModify)
ON_BN_CLICKED(IDC_SEARCH, OnSearch)
ON_BN_CLICKED(IDC_SHOWALL, OnShowall)
ON_BN_CLICKED(IDC_QUIT, OnQuit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyView construction/destruction
CMyView::CMyView()
: CRecordView(CMyView::IDD)
{
//{{AFX_DATA_INIT(CMyView)
// NOTE: the ClassWizard will add member initialization here
m_pSet = NULL;
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CMyView::~CMyView()
{
}
void CMyView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyView)
DDX_Control(pDX, IDC_LIST1, m_ListCtrl);
//}}AFX_DATA_MAP
}
BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CRecordView::PreCreateWindow(cs);
}
void CMyView::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_mySet;
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
CEnterDlg dlg;
dlg.DoModal();
if(dlg.k) //设置K来使得部分按键变灰
{
GetDlgItem(IDC_ADD)->EnableWindow(TRUE);
GetDlgItem(IDC_DELETE)->EnableWindow(TRUE);
GetDlgItem(IDC_MODIFY)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_ADD)->EnableWindow(FALSE);
GetDlgItem(IDC_DELETE)->EnableWindow(FALSE);
GetDlgItem(IDC_MODIFY)->EnableWindow(FALSE);
}
m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//画格子
m_ListCtrl.InsertColumn(0,_T("球员姓名"));
m_ListCtrl.InsertColumn(1,_T("身高"));
m_ListCtrl.InsertColumn(2,_T("体重"));
m_ListCtrl.InsertColumn(3,_T("年龄"));
m_ListCtrl.InsertColumn(4,_T("效力时间"));
m_ListCtrl.InsertColumn(5,_T("位置"));
m_ListCtrl.InsertColumn(6,_T("号码"));
m_ListCtrl.InsertColumn(7,_T("进球数"));
RECT rect;
m_ListCtrl.GetClientRect(&rect);
//m_ListCtrl2.GetClientRect(&rect2);
int i=rect.right-rect.left;
//int j=rect2.right-rect2.left;
m_ListCtrl.SetColumnWidth(0,i/8);
m_ListCtrl.SetColumnWidth(1,i/8);
m_ListCtrl.SetColumnWidth(2,i/8);
m_ListCtrl.SetColumnWidth(3,i/8);
m_ListCtrl.SetColumnWidth(4,i/8);
m_ListCtrl.SetColumnWidth(5,i/8);
m_ListCtrl.SetColumnWidth(6,i/8);
m_ListCtrl.SetColumnWidth(7,i/8);
m_ListCtrl.SetTextBkColor(RGB(140,180,250));
m_ListCtrl.SetTextColor(RGB(255,0,0));
m_ListCtrl.SetBkColor(RGB(140,180,250));
this->show();
}
/////////////////////////////////////////////////////////////////////////////
// CMyView diagnostics
#ifdef _DEBUG
void CMyView::AssertValid() const
{
CRecordView::AssertValid();
}
void CMyView::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CMyDoc* CMyView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMyView database support
CRecordset* CMyView::OnGetRecordset()
{
return m_pSet;
}
/////////////////////////////////////////////////////////////////////////////
// CMyView message handlers
void CMyView::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
int i=m_ListCtrl.GetNextSelectedItem(pos);
CString s;
s.Format("当前选项: %s %s ",m_ListCtrl.GetItemText(i,6),m_ListCtrl.GetItemText(i,0));
if(!m_ListCtrl.GetItemText(i,0).IsEmpty())
{
GetDlgItem(IDC_AAA)->SetWindowText(s); //最好将IDC_STATIC改名
UpdateData(FALSE);
}
else
CMyView::OnShowall();
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CMyView::OnAdd()
{
CAddDlg dlg;
if(dlg.DoModal()==IDOK)
{
m_pSet->MoveFirst();
if(dlg.m_haoma.IsEmpty()||dlg.m_jinqiushu.IsEmpty()||dlg.m_nianling.IsEmpty()||dlg.m_shengao.IsEmpty()||dlg.m_tizhong.IsEmpty()||dlg.m_weizhi.IsEmpty()||dlg.m_xiaolishijian.IsEmpty()||dlg.m_xingming.IsEmpty())
{
MessageBox("字段不能为空!");
CMyView::OnAdd();
}
else
{
m_pSet->AddNew();
m_pSet->m_haoma=dlg.m_haoma;
m_pSet->m_jinqiushu=dlg.m_jinqiushu;
m_pSet->m_nianling=dlg.m_nianling;
m_pSet->m_qiuyuanmingzi=dlg.m_xingming;
m_pSet->m_shengao=dlg.m_shengao;
m_pSet->m_tizhong=dlg.m_tizhong;
m_pSet->m_weizhi=dlg.m_weizhi;
m_pSet->m_xiaolishijian=dlg.m_xiaolishijian;
m_pSet->Update();
m_pSet->Requery();
m_pSet->MoveLast();
m_ListCtrl.DeleteAllItems();
this->show();
}
}
m_pSet->MoveFirst();
// TODO: Add your control notification handler code here
}
void CMyView::OnDelete()
{
CDeleteDlg dlg;
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
int i=m_ListCtrl.GetNextSelectedItem(pos);
m_pSet->MoveFirst();
if((m_ListCtrl.GetItemText(i,6).IsEmpty())&&(m_ListCtrl.GetItemText(i,0).IsEmpty())&&(m_ListCtrl.GetItemText(i,1).IsEmpty())&&(m_ListCtrl.GetItemText(i,2).IsEmpty())&&(m_ListCtrl.GetItemText(i,3).IsEmpty())&&(m_ListCtrl.GetItemText(i,4).IsEmpty())&&(m_ListCtrl.GetItemText(i,5).IsEmpty())&&(m_ListCtrl.GetItemText(i,7).IsEmpty()))
{
MessageBox("请先选择一条记录!");
}
else if(dlg.DoModal()==IDOK)
{
CString s;
s=m_ListCtrl.GetItemText(i,6);
//BOOL b=FALSE;
do
{
if(s!=m_pSet->m_haoma)
m_pSet->MoveNext();
else
{
m_pSet->Delete();
//b=TRUE;
m_pSet->Requery();
m_pSet->MoveFirst();
m_ListCtrl.DeleteAllItems();
this->show();
break;
}
}while(!m_pSet->IsEOF());
}
// TODO: Add your control notification handler code here
}
void CMyView::OnModify() //bug:清空某字段后按ok再按cancle,在if中再次赋值,解决了问题,号码重复问题未解决
{
CModifyDlg dlg;
// BOOL aaa=FALSE;
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
int i=m_ListCtrl.GetNextSelectedItem(pos);
//if((!m_ListCtrl.GetItemText(i,6).IsEmpty())&&(!m_ListCtrl.GetItemText(i,0).IsEmpty())&&(!m_ListCtrl.GetItemText(i,1).IsEmpty())&&(!m_ListCtrl.GetItemText(i,2).IsEmpty())&&(!m_ListCtrl.GetItemText(i,3).IsEmpty())&&(!m_ListCtrl.GetItemText(i,4).IsEmpty())&&(!m_ListCtrl.GetItemText(i,5).IsEmpty())&&(!m_ListCtrl.GetItemText(i,7).IsEmpty()))
//{
dlg.m_haoma=m_ListCtrl.GetItemText(i,6);
dlg.m_xinming=m_ListCtrl.GetItemText(i,0);
dlg.m_shengao=m_ListCtrl.GetItemText(i,1);
dlg.m_tizhong=m_ListCtrl.GetItemText(i,2);
dlg.m_nianling=m_ListCtrl.GetItemText(i,3);
dlg.m_xiaolishijian=m_ListCtrl.GetItemText(i,4);
dlg.m_weizhi=m_ListCtrl.GetItemText(i,5);
dlg.m_jinqiushu=m_ListCtrl.GetItemText(i,7);
UpdateData(FALSE);
if(dlg.m_haoma.IsEmpty()&&dlg.m_jinqiushu.IsEmpty()&&dlg.m_nianling.IsEmpty()&&dlg.m_shengao.IsEmpty()&&dlg.m_tizhong.IsEmpty()&&dlg.m_weizhi.IsEmpty()&&dlg.m_xiaolishijian.IsEmpty())
{
MessageBox("请先选择一条记录!");
}
else if(dlg.DoModal()==IDOK)
{m_pSet->MoveFirst();
//UpdateData(TRUE);
if(dlg.m_haoma.IsEmpty()||dlg.m_jinqiushu.IsEmpty()||dlg.m_nianling.IsEmpty()||dlg.m_shengao.IsEmpty()||dlg.m_tizhong.IsEmpty()||dlg.m_weizhi.IsEmpty()||dlg.m_xiaolishijian.IsEmpty())
{
MessageBox("记录字段不能为空!");
dlg.m_haoma=m_ListCtrl.GetItemText(i,6);
dlg.m_xinming=m_ListCtrl.GetItemText(i,0);
dlg.m_shengao=m_ListCtrl.GetItemText(i,1);
dlg.m_tizhong=m_ListCtrl.GetItemText(i,2);
dlg.m_nianling=m_ListCtrl.GetItemText(i,3);
dlg.m_xiaolishijian=m_ListCtrl.GetItemText(i,4);
dlg.m_weizhi=m_ListCtrl.GetItemText(i,5);
dlg.m_jinqiushu=m_ListCtrl.GetItemText(i,7);
CMyView::OnModify();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -