⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytab.cpp

📁 这是采用mfc编写的工资管理系统
💻 CPP
字号:
// MyTab.cpp : implementation file
//

#include "stdafx.h"
#include "SalaryManagement.h"
#include "MyTab.h"
#include "BasicInfo.h"
#include "FamilyMember.h"
#include "Experience.h"
#include "RewardPunish.h"
#include "Kaoqintongji.h"
#include "Chuchai.h"
#include "Chuqin.h"
#include "Jiaban.h"
#include "Qingjia.h"
#include "Xiujia.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyTab

CMyTab::CMyTab()
{
	index=0;
}

CMyTab::~CMyTab()
{
	for(int i=0;i<m_CountOfPages;i++)
		delete m_tabPages[i];
}


BEGIN_MESSAGE_MAP(CMyTab, CTabCtrl)
	//{{AFX_MSG_MAP(CMyTab)
	ON_WM_LBUTTONDOWN()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyTab message handlers

void CMyTab::InitTabCtrl()
{
	::ZeroMemory(&m_tabPages,sizeof(m_tabPages));

	//在人事信息管理中使用Tab控件
	if(index==0)
	{
		m_tabPages[0]=new CBasicInfo;
		m_tabPages[1]=new CFamilyMember;
		m_tabPages[2]=new CExperience;
		m_tabPages[3]=new CRewardPunish;

		m_CountOfPages=4;

		m_tabPages[0]->Create(IDD_BASICINFO,this);
		m_tabPages[1]->Create(IDD_FAMILYMEMBER,this);
		m_tabPages[2]->Create(IDD_EXPERIENCE,this);
		m_tabPages[3]->Create(IDD_REWARDPUNISH,this);
	}
	//在考勤信息管理中使用Tab控件
	if(index==1)
	{
		m_tabPages[0]=new CKaoqintongji;
		m_tabPages[1]=new CChuchai;
		m_tabPages[2]=new CChuqin;
		m_tabPages[3]=new CJiaban;
		m_tabPages[4]=new CQingjia;
		m_tabPages[5]=new CXiujia;

		m_CountOfPages=6;

		m_tabPages[0]->Create(IDD_KAOQINTONGJI,this);
		m_tabPages[1]->Create(IDD_KCHUCHAI,this);
		m_tabPages[2]->Create(IDD_KCHUQIN,this);
		m_tabPages[3]->Create(IDD_KJIABAN,this);
		m_tabPages[4]->Create(IDD_KQINGJIA,this);
		m_tabPages[5]->Create(IDD_KXIUJIA,this);

		m_tabPages[4]->ShowWindow(SW_HIDE);
		m_tabPages[5]->ShowWindow(SW_HIDE);
	}

	m_tabCurrent=0;

	m_tabPages[0]->ShowWindow(SW_SHOW);
	m_tabPages[1]->ShowWindow(SW_HIDE);
	m_tabPages[2]->ShowWindow(SW_HIDE);
	m_tabPages[3]->ShowWindow(SW_HIDE);

	SetRetangle();
}

void CMyTab::SetRetangle()
{
	CRect tabRect,itemRect;
	int x,y,cx,cy;

	GetClientRect(&tabRect);
	GetItemRect(0,&itemRect);

	x=itemRect.left;
	y=itemRect.bottom-1;
	cx=tabRect.right-itemRect.left-1;
	cy=tabRect.bottom-y-1;

	m_tabPages[0]->SetWindowPos(&wndTop,x,y,cx,cy,SW_SHOW);
	for(int i=1;i<m_CountOfPages;i++)
		m_tabPages[i]->SetWindowPos(&wndTop,x,y,cx,cy,SW_HIDE);
}

void CMyTab::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CTabCtrl::OnLButtonDown(nFlags, point);
	
	OnChangePage(GetCurFocus());
}

void CMyTab::OnChangePage(int nItem)
{
	if(m_tabCurrent!=nItem)
	{
		m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE);
		m_tabCurrent=nItem;
		m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW);
		m_tabPages[m_tabCurrent]->SetFocus();
		SetCurSel(nItem);
	}
}

void CMyTab::SetIndex(int index)
{
	this->index=index;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -