📄 lookdig.cpp
字号:
// LOOKDIG.cpp : implementation file
//
#include "stdafx.h"
#include "Salary.h"
#include "LOOKDIG.h"
#include "EmpAddDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLOOKDIG dialog
CLOOKDIG::CLOOKDIG(CWnd* pParent /*=NULL*/)
: CDialog(CLOOKDIG::IDD, pParent)
{
//{{AFX_DATA_INIT(CLOOKDIG)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CLOOKDIG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLOOKDIG)
DDX_Control(pDX, IDC_LIST_SALARY, m_salary);
DDX_Control(pDX, IDC_LIST_SUB, m_subsidy);
DDX_Control(pDX, IDC_LIST_INFO, m_info);
DDX_Control(pDX, IDC_LIST_CT, m_checktime);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLOOKDIG, CDialog)
//{{AFX_MSG_MAP(CLOOKDIG)
ON_BN_CLICKED(IDC_BUTTON_COUNT, OnCount)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLOOKDIG message handlers
void CLOOKDIG::InitControl()
{
//设置列表框控件扩展风格
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
m_info.SetExtendedStyle(dwExStyle);
m_info.SetExtendedStyle(dwExStyle);
m_checktime.SetExtendedStyle(dwExStyle);
m_checktime.SetExtendedStyle(dwExStyle);
m_subsidy.SetExtendedStyle(dwExStyle);
m_subsidy.SetExtendedStyle(dwExStyle);
m_salary.SetExtendedStyle(dwExStyle);
m_salary.SetExtendedStyle(dwExStyle);
//初始化收入类型列表框控件
m_info.InsertColumn(0,"员工号",LVCFMT_CENTER,60);
m_info.InsertColumn(1,"员工姓名",LVCFMT_CENTER,100);
m_info.InsertColumn(2,"性别",LVCFMT_CENTER,60);
m_info.InsertColumn(3,"部门",LVCFMT_CENTER,100);
m_checktime.InsertColumn(0,"记录编号",LVCFMT_CENTER,60);
m_checktime.InsertColumn(1,"记录时间",LVCFMT_CENTER,200);
m_checktime.InsertColumn(2,"员工id",LVCFMT_CENTER,60);
m_checktime.InsertColumn(3,"记录说明",LVCFMT_CENTER,300);
m_subsidy.InsertColumn(0,"记录编号",LVCFMT_CENTER,60);
m_subsidy.InsertColumn(1,"记录时间",LVCFMT_CENTER,200);
m_subsidy.InsertColumn(2,"员工id",LVCFMT_CENTER,60);
m_subsidy.InsertColumn(3,"金额",LVCFMT_CENTER,60);
m_subsidy.InsertColumn(4,"说明",LVCFMT_CENTER,450);
m_salary.InsertColumn(0,"编号",LVCFMT_CENTER,60);
m_salary.InsertColumn(1,"员工ID",LVCFMT_CENTER,60);
m_salary.InsertColumn(2,"金额",LVCFMT_CENTER,80);
}
void CLOOKDIG::InitCtrlData()
{
m_info.DeleteAllItems();
CDStrs InFields,InFields2,InFields3,InFields4;
//获取员工基本信息
CString sql;
sql.Format("Select * from members where mid='%s'", id);
g_odbcDB.ExecuteQuery(sql,InFields);
CStrs strs = InFields[0];
if(id==strs[0])
InsertTypeItem(&m_info,strs[0],strs[1],strs[2],strs[3]);
sql.Empty();
sql.Format("Select * from checktime where cid='%s'", id);
g_odbcDB.ExecuteQuery(sql,InFields2);
for(int j=0;j<InFields2.size();j++)
{
CStrs strs2 = InFields2[j];
if(id==strs2[2])
InsertTypeItem2(&m_checktime,strs2[0],strs2[1],strs2[2],strs2[3]);
}
sql.Empty();
sql.Format("Select * from subsidy where sid='%s'", id);
g_odbcDB.ExecuteQuery(sql,InFields3);
for(int i=0;i<InFields3.size();i++)
{
CStrs strs3 = InFields3[i];
if(id==strs3[2])
InsertTypeItem3(&m_subsidy,strs3[0],strs3[1],strs3[2],strs3[3],strs3[4]);
}
sql.Empty();
sql.Format("Select * from salary where said='%s'", id);
g_odbcDB.ExecuteQuery(sql,InFields4);
CStrs strs4 = InFields4[0];
if(id==strs4[1])
InsertTypeItem4(&m_salary,strs4[0],strs4[1],strs4[2]);
}
void CLOOKDIG::InsertTypeItem(CListCtrl* pList, CString id, CString name,CString sex,CString dept)
{
//获取当前的纪录条数.
int nIndex = pList->GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行数
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)id; //第一列
//在最后一行插入记录值.
pList->InsertItem(&lvItem);
//设置该行的其他列的值.
pList->SetItemText(nIndex,1,name);
pList->SetItemText(nIndex,2,sex);
pList->SetItemText(nIndex,3,dept);
}
void CLOOKDIG::InsertTypeItem2(CListCtrl* pList, CString no, CString time,CString id,CString info)
{
//获取当前的纪录条数.
int nIndex = pList->GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行数
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)id; //第一列
//在最后一行插入记录值.
pList->InsertItem(&lvItem);
//设置该行的其他列的值.
pList->SetItemText(nIndex,1,time);
pList->SetItemText(nIndex,2,id);
pList->SetItemText(nIndex,3,info);
}
void CLOOKDIG::InsertTypeItem3(CListCtrl * pList,CString no,CString time,CString id,CString quen,CString info)
{
//获取当前的纪录条数.
int nIndex = pList->GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行数
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)id; //第一列
//在最后一行插入记录值.
pList->InsertItem(&lvItem);
//设置该行的其他列的值.
pList->SetItemText(nIndex,1,time);
pList->SetItemText(nIndex,2,id);
pList->SetItemText(nIndex,3,quen);
pList->SetItemText(nIndex,4,info);
}
void CLOOKDIG::InsertTypeItem4(CListCtrl * pList,CString no,CString id,CString quen)
{
//获取当前的纪录条数.
int nIndex = pList->GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行数
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)id; //第一列
//在最后一行插入记录值.
pList->InsertItem(&lvItem);
//设置该行的其他列的值.
pList->SetItemText(nIndex,1,id);
pList->SetItemText(nIndex,2,quen);
}
BOOL CLOOKDIG::OnInitDialog()
{
CDialog::OnInitDialog();
InitControl();
InitCtrlData();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CLOOKDIG::OnCount()
{
// TODO: Add your control notification handler code here
//打开系统的计算器程序
WinExec("calc.exe", SW_SHOWNORMAL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -