资源简介
个人开发的表格,因为常常使用到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\
相关资源
- QT实现的类似QComplater可自定义匹配规
- listcontrol高度可变 类似控制面板的下
- PyQt5高阶界面控件
- ffactivex-setup-r39.exe
- 彗星真彩控件模块+例程
- 在对话框中放置一个Picture控件,拖动
- Chart图表控件设置XY轴交点位置
- Qt5 qml TreeView 迄今为止功能最全的树控
- DBTree控件(BCB)
- 控件和界面测试用例 文本测试用例
- 一个Delphi矢量图控件及Demo源程序..r
- bt客户端源代码
- Qt控件QListWidget实现鼠标拖拽Item换序
- 日历源代码 完整的项目,可以直接使
- 二维码控件及PB使用说明
- Qt控件的拖放
- 曲线控件+曲线显示控件
- windows运行原理源代码进度条控件
- 带时间的js日期控件
- PB控件摄像头代码
- 使用Winsock控件的UDP方式实现网络聊天
- LABVIEW中动态添加控件
- 三种CheckComboBox控件
- DevComponents.DotnetBar控件
- My97DatePicker包(WdatePicker.js文件加了详
- MSCOMM32控件
- 仿QQ好友列表控件非控件拼凑
- 百度webuploader多上传
- ECharts V3.1.6 最新图表控件修复版兼容
- WINCC注册MSCOMM控件
评论
共有 条评论