📄 panes.h
字号:
// Panes.h: interface for the CPanes class.
//
//////////////////////////////////////////////////////////////////////
/*****************************************************************
* 名称:CDialog中的栅格画板类
* 作者:湘潭大学信息工程学院李▲▲ xtulbd@yahoo.com.cn
* 时间:2004-07-26
* 功能:
1、画有边界的方格组成的表格,能够设定
1)表格的位置(x0,y0)、行列数(row,col),方格的高宽(height=,width=);
2)表格的背景色(panesBkColor=);
3)边界(borderColor=);
4)方格的填充色与空白色(paneFillColor=,paneNullColor=);
5)方格与方格边界(表格线)的距离(ppDistance=1)。
2、表格给出文字标题,能够设定
1)标题的位置(titleX0=,titleY0=);
2)标题文字的字体(titleFont="宋体",titleLfheight,titleLfwidth);
3)标题文字的背景色与颜色(titleBkColor=,titleColor=)。
3、能够采集某一等比矩形框内的象素。
1)并填充表格;
2)象素表格存为文件。
3) 另外外来象素数据也可以填充表格;
4、能够相应鼠标的绘图操作
1)鼠标左键在表格区按下,进入填充方格状态;
2)填充状态下,鼠标在表格区移动,则填充所在位置的方格,
一旦移出表格,则取消填充状态;
3)鼠标左键抬起,则取消填充状态。
5、自绘。
table[row][col]:表格状态;
title:表格标题。
******************************************************************/
#if !defined(AFX_PANES_H__8251D377_E89E_4FFE_8AF7_8E8BA35F6BAD__INCLUDED_)
#define AFX_PANES_H__8251D377_E89E_4FFE_8AF7_8E8BA35F6BAD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CPanes
{
private:
CPanes();
public:
virtual ~CPanes();
CPanes(CDialog * pDlg,int x0, int y0, int row,int col,int height,int width,
COLORREF panesBkColor=RGB(255,255,255),
COLORREF borderColor=RGB(0x0,0x4d,0x99),
COLORREF paneFillColor=RGB(0,125,0),
COLORREF paneNullColor=RGB(255,255,255),
int ppDistance=1,CString title=""
);
private:
int x0,y0,x1,y1;
int row,col;
int height,width;
COLORREF panesBkColor;
COLORREF borderColor;
COLORREF paneFillColor,paneNullColor;
int ppDistance;
/****************************/
CString title;
int titleX0,titleY0;
CString titleFont;
int titleLfheight,titleLfwidth;
COLORREF titleBkColor,titleColor;
/****************************/
CString sample;
int sampleX0,sampleY0;
CString sampleFont;
int sampleLfheight,sampleLfwidth;
COLORREF sampleBkColor,sampleColor;
/****************************/
static int DRAW_SAMPLE;
CDialog *pDlg;
CDC *pDC;
CBrush *pBrushPanes,*pBrushPaneFill,*pBrushPaneNull,*pBrush;
CPen penBorder,*pPen;
CFont font,*pFont;
int bDrawing;
int **samplePixels;
void GetSample(int x,int y);
int **table;
public:
void ToFile(CString fileName, CString sBlank="");
void Fill(int p[]);
void Fill(int **p);
void Get(int p[]);
void Get(int **p);
//void Get(int p[][]);
void DoLButtonDown(CPoint point);
void DoMouseMove(CPoint point);
void DoLButtonUp(CPoint point);
void Draw(int drawPart=0);
void Draw(int r,int c,int bin);
void Clear();
void FillSample(int x,int y);
void SetSample( CString sample,
int sampleX0,int sampleY0,
CString sampleFont,
COLORREF sampleBkColor,COLORREF sampleColor);
void useFuncPoint( void (*pFunc)()=NULL);
//函数指针作函数参数,参数函数不论参数多少定义格式一样。P-243
};
#endif // !defined(AFX_PANES_H__8251D377_E89E_4FFE_8AF7_8E8BA35F6BAD__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -