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

📄 tabviewctrl.cpp

📁 《Visual C++编程技巧典型案例解析:基础与应用篇(下)(含1CD-ROM)——编程技巧典型案例集锦系列》源码
💻 CPP
字号:
// TabViewCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "demo_devstudio.h"
#include "TabViewCtrl.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTabViewCtrl

CTabViewCtrl::CTabViewCtrl()
{
}

CTabViewCtrl::~CTabViewCtrl()
{
}

#define IDC_TABCTRLBAR 1000 
BEGIN_MESSAGE_MAP(CTabViewCtrl, CControlBar)
	//{{AFX_MSG_MAP(CTabViewCtrl)
	ON_WM_CREATE()
	ON_WM_WINDOWPOSCHANGED()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
    ON_MESSAGE(WM_TABRESIZE, OnTabResize)
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CTabViewCtrl message handlers

int CTabViewCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CControlBar::OnCreate(lpCreateStruct) == -1)
		return -1;
	
    if (!m_tabctrl.Create(WS_VISIBLE|WS_CHILD|TCS_BOTTOM|TCS_FOCUSNEVER|      
		TCS_TOOLTIPS|TCS_FIXEDWIDTH, 
		CRect(0,0,0,0), this, IDC_TABCTRLBAR))
	{
		TRACE0("Unable to create tab control bar\n");
		return -1;
	}
	
	return 0;
}

void CTabViewCtrl::OnWindowPosChanged(WINDOWPOS FAR* lpwndpos) 
{
    if (IsFloating()) 
		m_tabctrl.MoveWindow( 5, 5, lpwndpos->cx-10, lpwndpos->cy-7 );
	else if (IsHorzDocked()) 	
		m_tabctrl.MoveWindow( 17, 5, lpwndpos->cx-25, lpwndpos->cy-17 );
	else
	    	m_tabctrl.MoveWindow( 5, 20, lpwndpos->cx-17, lpwndpos->cy-31 );
	PostMessage(WM_TABRESIZE); // 此语句在下面第二个改进中用到

	CControlBar::OnWindowPosChanged(lpwndpos);
	
	// TODO: Add your message handler code here
	
}

void CTabViewCtrl::OnDestroy() 
{
	CControlBar::OnDestroy();
	
	// TODO: Add your message handler code here
	
}

LRESULT  CTabViewCtrl::OnTabResize(WPARAM, LPARAM)
{
CRect rect; 
GetClientRect(&rect);
	CRect yy;  
    m_tabctrl.GetItemRect( 0, &yy );
	CSize size; 
    size.cy=yy.Height();
    size.cx=(rect.Width())/4;
	m_tabctrl.SetItemSize(size);   
    Invalidate();
    return 0;
}

⌨️ 快捷键说明

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