资源简介
自定义的基于CWnd类实现的TabCtrl控件,可以添加、删除、修改标签页
代码片段和文件信息
/**********************************************************************
**
** CustomTabCtrl.cpp : implementation file of CCustomTabCtrl class
**
** by Andrzej Markowski June 2004
**
**********************************************************************/
#include “stdafx.h“
#include “CustomTabCtrl.h“
#include “resource.h“
// CCustomTabCtrlItem
CCustomTabCtrlItem::CCustomTabCtrlItem(CString sTextLPARAM lParam) :
m_sText(sText)
m_lParam(lParam)
m_bShape(TAB_SHAPE1)
m_fSelected(FALSE)
m_fHighlighted(FALSE)
m_fHighlightChanged(FALSE)
{
}
void CCustomTabCtrlItem::operator=(const CCustomTabCtrlItem &other)
{
m_sText = other.m_sText;
m_lParam = other.m_lParam;
}
void CCustomTabCtrlItem::ComputeRgn()
{
m_rgn.Deleteobject();
CPoint pts[6];
GetRegionPoints(m_rectpts);
m_rgn.CreatePolygonRgn(pts 6 WINDING);
}
void CCustomTabCtrlItem::GetRegionPoints(const CRect& rc CPoint* pts) const
{
switch(m_bShape)
{
case TAB_SHAPE2:
{
pts[0] = rc.TopLeft();
pts[1] = CPoint(rc.left rc.bottom);
pts[2] = CPoint(rc.left + rc.Height()/2 rc.top);
pts[3] = CPoint(rc.left + rc.Height()/2 rc.top);
pts[4] = CPoint(rc.left + rc.Height()/2 rc.top);
pts[5] = CPoint(rc.left + rc.Height()/2 rc.top);
}
break;
case TAB_SHAPE3:
{
pts[0] = rc.TopLeft();
pts[1] = CPoint(rc.left + rc.Height()/4 rc.Height()/2);
pts[2] = CPoint(rc.left rc.bottom);
pts[3] = CPoint(rc.left rc.bottom);
pts[4] = CPoint(rc.left rc.bottom);
pts[5] = CPoint(rc.left rc.bottom);
}
break;
case TAB_SHAPE4:
{
pts[0] = rc.TopLeft();
pts[1] = CPoint(rc.left + rc.Height()/4 rc.Height()/2);
pts[2] = CPoint(rc.left + rc.Height()/2 rc.bottom);
pts[3] = CPoint(rc.right - rc.Height()/2 rc.bottom);
pts[4] = CPoint(rc.right - rc.Height()/4 rc.Height()/2);
pts[5] = CPoint(rc.right rc.top);
}
break;
case TAB_SHAPE5:
{
pts[0] = rc.TopLeft();
pts[1] = CPoint(rc.left + rc.Height()/4 rc.Height()/2);
pts[2] = CPoint(rc.left + rc.Height()/2 rc.bottom);
pts[3] = CPoint(rc.right - rc.Height()/2 rc.bottom);
pts[4] = CPoint(rc.right - rc.Height()/4 rc.Height()/2);
pts[5] = CPoint(rc.right - rc.Height()/2 rc.top);
}
break;
default:
{
pts[0] = CPoint(00);
pts[1] = CPoint(00);
pts[2] = CPoint(00);
pts[3] = CPoint(00);
pts[4] = CPoint(00);
pts[5] = CPoint(00);
}
break;
}
}
void CCustomTabCtrlItem::GetDrawPoints(const CRect& rc CPoint* pts) const
{
switch(m_bShape)
{
case TAB_SHAPE2:
case TAB_SHAPE3:
{
pts[0] = CPoint(rc.left rc.bottom);
pts[1] = CPoint(rc.left + rc.Height()/2 rc.top);
}
break;
case TAB_SHAPE4:
case TAB_SHAPE5:
{
pts[0] = rc.TopLeft();
pts[1] = CPoint(rc.left + rc.Height()/2 rc.bottom);
pts[2] = CPoint(rc.right - rc.Height()/2 rc.bottom);
pts[3] = CPoint(rc.right rc.top);
}
break;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 68241 2004-07-24 08:51 CustomTabCtrlDemo\CustomTabCtrl.cpp
文件 7611 2004-07-24 15:48 CustomTabCtrlDemo\CustomTabCtrl.h
文件 2145 2004-07-17 20:10 CustomTabCtrlDemo\CustomTabCtrlDemo.cpp
文件 4884 2004-07-14 22:57 CustomTabCtrlDemo\CustomTabCtrlDemo.dsp
文件 559 2004-05-04 06:57 CustomTabCtrlDemo\CustomTabCtrlDemo.dsw
文件 1445 2004-05-04 06:57 CustomTabCtrlDemo\CustomTabCtrlDemo.h
文件 18779 2004-07-25 19:51 CustomTabCtrlDemo\CustomTabCtrlDemoDlg.cpp
文件 2685 2004-07-20 16:51 CustomTabCtrlDemo\CustomTabCtrlDemoDlg.h
文件 1078 2004-05-04 06:57 CustomTabCtrlDemo\res\CustomTabCtrlDemo.ico
文件 409 2004-05-04 06:57 CustomTabCtrlDemo\res\CustomTabCtrlDemo.rc2
文件 326 2004-07-13 20:02 CustomTabCtrlDemo\res\DRAGCOPY.CUR
文件 326 2004-07-13 20:02 CustomTabCtrlDemo\res\DRAGMOVE.CUR
..AD... 0 2004-07-15 07:39 CustomTabCtrlDemo\res
文件 1337 2004-07-18 18:01 CustomTabCtrlDemo\resource.h
文件 4140 2002-06-04 16:13 CustomTabCtrlDemo\Schemadef.h
文件 219 2004-05-04 06:57 CustomTabCtrlDemo\StdAfx.cpp
文件 999 2004-05-04 06:57 CustomTabCtrlDemo\StdAfx.h
文件 6397 2004-07-04 20:33 CustomTabCtrlDemo\ThemeUtil.cpp
文件 1563 2004-07-17 20:12 CustomTabCtrlDemo\ThemeUtil.h
文件 45694 2002-06-04 16:13 CustomTabCtrlDemo\Tmschema.h
文件 60416 2005-10-31 17:32 CustomTabCtrlDemo\CustomTabCtrlDemo.ncb
文件 7463 2005-10-31 17:11 CustomTabCtrlDemo\CustomTabCtrlDemo.vcproj
文件 923 2005-10-31 16:13 CustomTabCtrlDemo\CustomTabCtrlDemo.sln
..A..H. 17408 2005-10-31 17:32 CustomTabCtrlDemo\CustomTabCtrlDemo.suo
目录 0 2005-10-31 16:13 CustomTabCtrlDemo\Debug
文件 39904 2005-10-31 16:44 CustomTabCtrlDemo\CustomTabCtrlDemo.aps
文件 6840 2005-10-31 16:44 CustomTabCtrlDemo\CustomTabCtrlDemo.rc
目录 0 2005-10-31 16:13 CustomTabCtrlDemo
----------- --------- ---------- ----- ----
302009 29
............此处省略2个文件信息
- 上一篇:linux 0.12内核源代码
- 下一篇:概率论习题解答东华大学出版社
相关资源
- RadioButton控件
- “猜数字”游戏 算法破解
- OpenGL-3D坦克模拟
- 在delphi7下进行autocad二次开发的一个简
- powerdatagrid控件 源码
- 采用WINSOCK2 编写的TCP/UDP通信程序
- 大陆天堂2原代码
- PB做的俄罗斯方块
- animatedgif
- 典当综合业务管理系统(完整版)
- 图像处理作业C 源代码
- 联机版井字棋源码
- 用IdFTPServer写的一个FTPServer程序
- 视频处理控件TVideoGrabber.v6.7.5.For.Del
- 从EXCEL中取数据在Teechart7显示应用示例
- 我写的一个简单的属性编辑器控件
- 校园网络信息发布系统
- vc漂亮的tab控件
-
UnityWebPla
yer及UnityWebPla yerFull - 佐藤打印机SATO打印接口控件
- 远程桌面协议 (RDP)控件库
- labview process monitor控件
- sizekit2 XE10.2 窗体和控件自动缩放
- pb9下经过美化的按钮控件,图标按钮
- Delphi图片按钮控件,很好用
- Graphics Magic图像处理魔术师,含Delph
- 通用LED显示屏控件Delphi开发例程源码
- 百度万年历 日期选择控件 带农历节日
- TLssCalendar (支持农历的月历控件)
- duilib webkit内核浏览器控件
评论
共有 条评论