📄 p51_03_4view.cpp
字号:
// p51_03_4View.cpp : implementation of the CP51_03_4View class
//
#include "stdafx.h"
#include "p51_03_4.h"
#include "p51_03_4Doc.h"
#include "p51_03_4View.h"
#include "SearchBox.h"
#include "Worker.h"
#include "Viewpostbox.h"
#include "Viewbirthday.h"
#include "Searchchoose.h"
#include "Searchbyname.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CP51_03_4View
IMPLEMENT_DYNCREATE(CP51_03_4View, CListView)
BEGIN_MESSAGE_MAP(CP51_03_4View, CListView)
//{{AFX_MSG_MAP(CP51_03_4View)
ON_COMMAND(ID_MENU_SEARCH, OnMenuSearch)
ON_COMMAND(ID_VIEW_ALL, OnViewAll)
ON_COMMAND(ID_MENU_VIEWOLD, OnMenuViewold)
ON_COMMAND(ID_MENU_UNMARRIGE, OnMenuUnmarrige)
ON_COMMAND(ID_MENU_VIEWPOST, OnMenuViewpost)
ON_COMMAND(ID_MENU_VIEWYOUNG, OnMenuViewyoung)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CListView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CListView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CListView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CP51_03_4View construction/destruction
CP51_03_4View::CP51_03_4View()
{
// TODO: add construction code here
}
CP51_03_4View::~CP51_03_4View()
{
}
BOOL CP51_03_4View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= LVS_SHOWSELALWAYS | LVS_REPORT;
return CListView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CP51_03_4View drawing
void CP51_03_4View::OnDraw(CDC* pDC)
{
CP51_03_4Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
void CP51_03_4View::OnInitialUpdate()
{
CListView::OnInitialUpdate();
// TODO: You may populate your ListView with items by directly accessing
// its list control through a call to GetListCtrl().
}
/////////////////////////////////////////////////////////////////////////////
// CP51_03_4View printing
BOOL CP51_03_4View::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CP51_03_4View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CP51_03_4View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CP51_03_4View diagnostics
#ifdef _DEBUG
void CP51_03_4View::AssertValid() const
{
CListView::AssertValid();
}
void CP51_03_4View::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
CP51_03_4Doc* CP51_03_4View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CP51_03_4Doc)));
return (CP51_03_4Doc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CP51_03_4View message handlers
void CP51_03_4View::OnViewAll()
{
CP51_03_4Doc*pDoc=GetDocument();
CListCtrl& ListCtrl=GetListCtrl();
while(ListCtrl.DeleteColumn(0)){};
ListCtrl.DeleteAllItems();
ListCtrl.InsertColumn(0,"职工编号");
ListCtrl.SetColumnWidth(0,100);
ListCtrl.InsertColumn(1,"姓名");
ListCtrl.SetColumnWidth(1,100);
ListCtrl.InsertColumn(2,"性别");
ListCtrl.SetColumnWidth(2,100);
ListCtrl.InsertColumn(3,"出生年月");
ListCtrl.SetColumnWidth(3,100);
ListCtrl.InsertColumn(4,"职称");
ListCtrl.SetColumnWidth(4,100);
ListCtrl.InsertColumn(5,"最后学历");
ListCtrl.SetColumnWidth(5,100);
ListCtrl.InsertColumn(6,"工资");
ListCtrl.SetColumnWidth(6,100);
ListCtrl.InsertColumn(7,"婚否");
ListCtrl.SetColumnWidth(7,100);
int i,j,num=0;
CString Str;
CWorker *pWorker=NULL;
for(i=0;i<pDoc->mWorkerArray.GetSize();i++)
{
num++;
pWorker = pDoc->mWorkerArray[i];
Str.Format("%d",pWorker->m_Num);
ListCtrl.InsertItem(i,Str);
j=1;
Str.Format("%s",pWorker->m_Name);
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
CString sex;
if(pWorker->m_Sex)sex="女";
else sex="男";
Str.Format("%s",sex);
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%d-%d-%d",pWorker->m_Birthday.GetYear(),pWorker->m_Birthday.GetMonth(),pWorker->m_Birthday.GetDay());
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%s",pWorker->m_Post);
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%s",pWorker->m_Degree);
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%f",pWorker->m_Wage);
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
CString ma;
if(pWorker->m_Marry)ma="已婚";
else ma="未婚";
Str.Format("%s",ma);
ListCtrl.SetItem(i,j,LVIF_TEXT,Str,0,0,0,NULL);
}
if(num==0)AfxMessageBox("没有保存任何职工信息!");
}
void CP51_03_4View::OnMenuSearch()
{
CSearchchoose sea;
CSearchbyname na;
CSearchBox nu;
if(sea.DoModal()==IDOK)
{
if(sea.m_choose==0)
{
CP51_03_4Doc*pDoc=GetDocument();
CListCtrl& ListCtrl=GetListCtrl();
while(ListCtrl.DeleteColumn(0)){};
ListCtrl.DeleteAllItems();
ListCtrl.InsertColumn(0,"职工编号");
ListCtrl.SetColumnWidth(0,100);
ListCtrl.InsertColumn(1,"姓名");
ListCtrl.SetColumnWidth(1,100);
ListCtrl.InsertColumn(2,"性别");
ListCtrl.SetColumnWidth(2,100);
ListCtrl.InsertColumn(3,"出生年月");
ListCtrl.SetColumnWidth(3,100);
ListCtrl.InsertColumn(4,"职称");
ListCtrl.SetColumnWidth(4,100);
ListCtrl.InsertColumn(5,"最后学历");
ListCtrl.SetColumnWidth(5,100);
ListCtrl.InsertColumn(6,"工资");
ListCtrl.SetColumnWidth(6,100);
ListCtrl.InsertColumn(7,"婚否");
ListCtrl.SetColumnWidth(7,100);
if(nu.DoModal()==IDOK)
{
int i,j,num=0,k=0;
CString Str;
CWorker *pWorker=NULL;
for(i=0;i<pDoc->mWorkerArray.GetSize();i++)
{
pWorker = pDoc->mWorkerArray[i];
if(pWorker->m_Num==nu.m_num)
{
num++;
Str.Format("%d",pWorker->m_Num);
ListCtrl.InsertItem(k,Str);
j=1;
Str.Format("%s",pWorker->m_Name);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
CString sex;
if(pWorker->m_Sex)sex="女";
else sex="男";
Str.Format("%s",sex);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%d-%d-%d",pWorker->m_Birthday.GetYear(),pWorker->m_Birthday.GetMonth(),pWorker->m_Birthday.GetDay());
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%s",pWorker->m_Post);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%s",pWorker->m_Degree);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
Str.Format("%f",pWorker->m_Wage);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
CString ma;
if(pWorker->m_Marry)ma="已婚";
else ma="未婚";
Str.Format("%s",ma);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
k++;
}
}
if(num==0)AfxMessageBox("没有该编号的职工!");
}
}
else{
CP51_03_4Doc*pDoc=GetDocument();
CListCtrl& ListCtrl=GetListCtrl();
while(ListCtrl.DeleteColumn(0)){};
ListCtrl.DeleteAllItems();
ListCtrl.InsertColumn(0,"职工编号");
ListCtrl.SetColumnWidth(0,100);
ListCtrl.InsertColumn(1,"姓名");
ListCtrl.SetColumnWidth(1,100);
ListCtrl.InsertColumn(2,"性别");
ListCtrl.SetColumnWidth(2,100);
ListCtrl.InsertColumn(3,"出生年月");
ListCtrl.SetColumnWidth(3,100);
ListCtrl.InsertColumn(4,"职称");
ListCtrl.SetColumnWidth(4,100);
ListCtrl.InsertColumn(5,"最后学历");
ListCtrl.SetColumnWidth(5,100);
ListCtrl.InsertColumn(6,"工资");
ListCtrl.SetColumnWidth(6,100);
ListCtrl.InsertColumn(7,"婚否");
ListCtrl.SetColumnWidth(7,100);
if(na.DoModal()==IDOK){
int i,j,num=0,k=0;
CString Str;
CWorker *pWorker=NULL;
for(i=0;i<pDoc->mWorkerArray.GetSize();i++)
{
pWorker = pDoc->mWorkerArray[i];
if(pWorker->m_Name==na.m_name)
{
num++;
Str.Format("%d",pWorker->m_Num);
ListCtrl.InsertItem(k,Str);
j=1;
Str.Format("%s",pWorker->m_Name);
ListCtrl.SetItem(k,j,LVIF_TEXT,Str,0,0,0,NULL);
j++;
CString sex;
if(pWorker->m_Sex)sex="女";
else sex="男";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -