📄 tabctrlex.cpp
字号:
// CTabCtrlEx.cpp : implementation file
//
#include "stdafx.h"
//#include "DlmCrt.h"
#include "TabCtrlEx.h"
#include "../DlgFileInfo.h"
#include "../DlgMathInfo.h"
//#include "Mathdlg.h"
//#include "MachineDlg.h"
//#include "OtherInfoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyTabCtrl
CTabCtrlEx::CTabCtrlEx()
{
::ZeroMemory(&m_tabPages, sizeof(m_tabPages));
m_tabPages[0]=new DlgFileInfo;
m_tabPages[1]=new DlgMathInfo;
// m_tabPages[2]=new CMathDlg;
// m_tabPages[3]=new COtherInfoDlg;
m_nNumberOfPages=2;
}
CTabCtrlEx::~CTabCtrlEx()
{
for(int nCount=0; nCount < m_nNumberOfPages; nCount++){
delete m_tabPages[nCount];
}
}
void CTabCtrlEx::Init()
{
if(m_tabCurrent>2 )m_tabCurrent=0;
m_tabCurrent=0;
m_tabPages[0]->Create(IDD_FILEINFO_DIALOG, this);
m_tabPages[1]->Create(IDD_MATHINFO_DIALOG, this);
//m_tabPages[2]->Create(IDD_MATH_DIALOG, this);
//m_tabPages[3]->Create(IDD_OTHERINFO_DIALOG,this);
m_tabPages[0]->ShowWindow(SW_HIDE);
m_tabPages[1]->ShowWindow(SW_HIDE);
//m_tabPages[2]->ShowWindow(SW_HIDE);
//m_tabPages[3]->ShowWindow(SW_HIDE);
m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW);
SetRectangle();
}
void CTabCtrlEx::SetRectangle()
{
CRect tabRect, itemRect;
int nX, nY, nXc, nYc;
GetClientRect(&tabRect);
GetItemRect(0, &itemRect);
nX=itemRect.left;
nY=itemRect.bottom+1;
nXc=tabRect.right-itemRect.left-1;
nYc=tabRect.bottom-nY-1;
for(int nCount=0; nCount < m_nNumberOfPages; nCount++){
m_tabPages[nCount]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);
}
m_tabPages[m_tabCurrent]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_SHOWWINDOW);
}
BEGIN_MESSAGE_MAP(CTabCtrlEx, CTabCtrl)
//{{AFX_MSG_MAP(CMyTabCtrl)
ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyTabCtrl message handlers
void CTabCtrlEx::OnLButtonDown(UINT nFlags, CPoint point)
{
CTabCtrl::OnLButtonDown(nFlags, point);
if(m_tabCurrent != GetCurFocus()){
m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE);
m_tabCurrent=GetCurFocus();
m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW);
m_tabPages[m_tabCurrent]->SetFocus();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -