资源简介
个人开发的表格,因为常常使用到ListCtrl 而listctrl又有点缺陷不好用,于是就开发了这个表格,对于少量的表格处理。还是很好的。使用说明和效果图都在,相信你会喜欢!

代码片段和文件信息
#include “stdafx.h“
#include “mySheet.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CmySheet::CmySheet()
{
InitialVaraible();
}
CmySheet::~CmySheet()
{
}
BEGIN_MESSAGE_MAP(CmySheet CStatic)
//{{AFX_MSG_MAP(CmySheet)
ON_WM_PAINT()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CmySheet::DrawRangle(CDC *pDC)
{
if(!flag_drwfirst)
{
Invalidate();
flag_drwfirst=true;
}
GetClientRect(rect);
CPen pen;
pen.CreatePen(PS_SOLID2m_GridColor);
::Selectobject(pDC->GetSafeHdc()pen);
pDC->SetBkMode(TRANSPARENT);
pDC->MoveTo(rect.leftrect.top);
pDC->LineTo(rect.leftrect.bottom );
pDC->LineTo(rect.right rect.bottom );
pDC->LineTo(rect.right rect.top );
pDC->LineTo(rect.leftrect.top );
pen.Deleteobject();
DrawGridLine(pDC);
}
void CmySheet::OnPaint()
{
CPaintDC dc(this); // device context for painting
DrawRangle(&dc);
}
void CmySheet::SetBKColors(COLORREF bkcolor)
{
m_BackColor=bkcolor;
Invalidate();
}
void CmySheet::SetGridColor(COLORREF gridcolor)
{
m_GridColor=gridcolor;
Invalidate();
}
void CmySheet::InitialVaraible()
{
Rows=2; //行数
int Cols=2;//列数
/////
m_GridColor=RGB(2552550);//格子颜色
m_BackColor=RGB(000);//背景色
m_FontColor=RGB(02550);//字颜色
//是否需要标题栏
flag_title=true;
m_title=“Allegro“;
/*写入内容时,起始位置的补偿量*/
mrStartx=1;
mrStarty=3;
flag_drwfirst=false;
for(int i=0;i<20;i++)
m_RowWidth[i]=50;
}
void CmySheet::DrawGridLine(CDC *pDC)
{
CPen pen;
pen.CreatePen(PS_SOLID1m_GridColor);
::Selectobject(pDC->GetSafeHdc()pen);
pDC->SetBkMode(TRANSPARENT);
int posy=0;
if(flag_title)
{
int posx=0;
mrHight=(rect.Height()-30)/(float)Cols;//列高
for(int i=0;i<=Rows+1;i++)//画行线
{
pDC->MoveTo(rect.leftrect.top+(int)(i*mrHight)+30);
pDC->LineTo(rect.rightrect.top+(int)(i*mrHight)+30);
}
for( i=1;i {
posy+=(int)(m_RowWidth[i]);
pDC->MoveTo(rect.left+int(posy)rect.top+30);
pDC->LineTo(rect.left+int(posy)rect.bottom);
}
pen.Deleteobject();
int centerposxcenterposy;
pDC->SetTextColor(m_FontColor);
centerposx=rect.left+10 ;
centerposy=rect.top+10;
pDC->TextOut(centerposxcenterposym_title);
}
else
{
mrWidth =rect.Width()/(float)Rows;//行宽
mrHight =rect.Height()/(float)Cols;//列高
for(int i=1;i {
pDC->MoveTo(rect.leftrect.top+(int)(i*mrHight));
pDC->LineTo(rect.right rect.top+(int)(i*mrHight ));
}
for( i=1;i {
posy+=int(m_RowWidth[i]);
pDC->MoveTo(rect.left+posyrect.top);
pDC->LineTo(rect.left+posyrect.bottom );
}
pen.Deleteobject();
}
}
void CmySheet::SetRowsCols(int row int col)
{
if(row<1)
Rows=1;
else
Rows=row;
if(col<1)
Cols=1;
else
Cols=col;
}
void CmySheet::SetFontColor(COLORREF fonfcolor
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 48794 2013-01-03 16:29 MyGrid\grid.JPG
文件 7690 2013-01-03 16:27 MyGrid\mySheet.cpp
文件 1294 2012-12-28 15:49 MyGrid\mySheet.h
文件 1344 2013-01-03 16:43 MyGrid\使用方法.txt
目录 0 2013-01-03 16:30 MyGrid\
相关资源
- delphi版indy10控件
- 最新版TTF16.OCX Formula One v. 6.1.6.2 控件
- 可拖拽的甘特图控件(完整)
- QRMaker.ocx控件
- MFC控件动态拖动
- js实现的日历控件(经典好用)
- 上传大文件并显示进度条控件实例
- 组态王6.53树形控件实例
- 用FileSystemWatcher控件实现文件同步更新
- 毕业设计:网络围棋对弈
- 自定义的TabCtrl控件实现
- 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
评论
共有 条评论