-
大小: 17KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-06-16
- 语言: C/C++
- 标签: MFC Tabcontrol
资源简介
标签控件 界面美化效果,资源共享。值得学习
代码片段和文件信息
// baseTabCtrl.cpp : implementation file
//
#include “stdafx.h“
#include “tabcontrol.h“
#include “baseTabCtrl.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CbaseTabCtrl
CbaseTabCtrl::CbaseTabCtrl(int nType)
{
m_crBack = (COLORREF)-1; // use default color
m_nDrawType = BTC_NONE;
EnableDraw(nType);
}
CbaseTabCtrl::~CbaseTabCtrl()
{
}
BEGIN_MESSAGE_MAP(CbaseTabCtrl CTabCtrl)
//{{AFX_MSG_MAP(CbaseTabCtrl)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
ON_WM_ERASEBKGND()
ON_WM_PAINT()
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CbaseTabCtrl message handlers
void CbaseTabCtrl::SetBkgndColor(COLORREF color)
{
// set new color
m_crBack = color;
// redraw
if (GetSafeHwnd())
Invalidate();
}
BOOL CbaseTabCtrl::EnableDraw(int nType)
{
ASSERT (nType >= BTC_NONE && nType <= BTC_ALL);
if (nType < BTC_NONE || nType > BTC_ALL)
return FALSE;
m_nDrawType = nType;
if (GetSafeHwnd())
{
if (m_nDrawType != BTC_NONE)
Modifystyle(0 TCS_OWNERDRAWFIXED);
else
Modifystyle(TCS_OWNERDRAWFIXED 0);
Invalidate();
}
return TRUE;
}
void CbaseTabCtrl::DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/)
{
ASSERT (0);
}
void CbaseTabCtrl::DrawItemBorder(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/)
{
ASSERT (0);
}
void CbaseTabCtrl::DrawMainBorder(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/)
{
ASSERT (0);
}
COLORREF CbaseTabCtrl::GetTabColor(BOOL /*bSelected*/)
{
return ::GetSysColor(COLOR_3DFACE);
}
COLORREF CbaseTabCtrl::GetTabTextColor(BOOL /*bSelected*/)
{
return ::GetSysColor(COLOR_WINDOWTEXT);
}
void CbaseTabCtrl::PreSubclassWindow()
{
CTabCtrl::PreSubclassWindow();
if (m_nDrawType != BTC_NONE)
Modifystyle(0 TCS_OWNERDRAWFIXED);
}
BOOL CbaseTabCtrl::OnEraseBkgnd(CDC* pDC)
{
CRect rClient rTab rTotalTab rBkgnd rEdge;
COLORREF crBack;
int nTab nTabHeight = 0;
CTabCtrl::OnEraseBkgnd(pDC);
// calc total tab width
GetClientRect(rClient);
nTab = GetItemCount();
rTotalTab.SetRectEmpty();
while (nTab--)
{
GetItemRect(nTab rTab);
rTotalTab.UnionRect(rTab rTotalTab);
}
nTabHeight = rTotalTab.Height();
// add a bit
rTotalTab.InflateRect(2 3);
rEdge = rTotalTab;
// then if background color is set paint the visible background
// area of the tabs in the bkgnd color
// note: the mfc code for drawing the tabs makes all sorts of assumptions
// about the background color of the tab control being the same as the page
// color - in some places the background color shows thru‘ the pages!!
// so we must only paint the background color where we need to which is that
// portion of the tab area not excluded by the tabs themselves
crBack = (m_crB
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3560 2002-07-01 10:28 TabControlDlg.cpp
文件 5103 2002-02-01 11:20 ba
文件 1770 2002-02-01 11:16 ba
文件 7425 2002-07-01 10:32 EnTabCtrl.cpp
文件 2089 2002-02-01 11:16 EnTabCtrl.h
文件 1009 2002-07-01 10:27 resource.h
文件 212 2001-12-01 11:03 StdAfx.cpp
文件 999 2001-12-01 11:03 StdAfx.h
文件 1553 2002-02-01 11:47 TabControl.clw
文件 2086 2001-12-01 11:03 TabControl.cpp
文件 4599 2002-07-01 10:38 TabControl.dsp
文件 765 2002-07-01 10:38 TabControl.dsw
文件 1368 2001-12-01 11:03 TabControl.h
文件 5762 2002-07-01 10:27 TabControl.rc
目录 0 2002-02-01 11:31 res\
文件 1498 2002-07-01 10:24 TabControlDlg.h
文件 3651 2001-12-01 11:03 ReadMe.txt
文件 402 2001-12-01 11:03 res\TabControl.rc2
文件 1078 2002-07-01 10:27 res\Toolbar.bmp
- 上一篇:最小二乘法拟合椭圆
- 下一篇:c++课程设计之图书管理系统
相关资源
- 关于MFC对话框与静态HTML交互
- Bresenham画线连成多边形并填充
- 多线程MFCVS2010版本
- 图像融合C++/MFC
- Vc++/MFC下 Json解析
- MFC显示图片的相关文件
- VC2008 MFC 五子棋 源码 人机对弈 游戏
- MFC操作sqlite3需要的库文件
- MFC的HttpClient的Get和Post方法
- 基于MFC的图形编辑器
- 打砖块游戏
- 基于C++MFC-RS485串口通信demo-完整版-代
- 截图工具及源码
- Timer时钟.zip
- 东南大学 MFC 课程设计 图书管理系统
- 篮球赛个人技术统计系统
- VC++ 轨迹运动源码
- mfco42d、msvcrtd、mfc42d三个DLL文件
- 计算机图形学大作业C++代码MFC终极版
- png格式透明MFC自绘按钮
- MFC项目重命名工具
- mfc42d.dll与msvcrtd.dll
- 基于socket通信的,利用MFC实现TCP通信
- mfc链接sql数据库查询、修改、删除
- mfc写的贪吃蛇小游戏
- 坦克大战:(MFC]).zip
- mfc中自绘menu控件的美化
- 可添加至MFC的256色bmp图
- MFC实现局域网内点对点的大文件传输
- 扫雷小游戏,c++版本
评论
共有 条评论