📄 dataanalysebox.h
字号:
#if !defined(AFX_DATAANALYSEBOX_H__7B9361E4_A4DD_44D8_AA56_87FACD312B2A__INCLUDED_)
#define AFX_DATAANALYSEBOX_H__7B9361E4_A4DD_44D8_AA56_87FACD312B2A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAX_ARRAY 12
#define MAX_HEIGHT 100
#define WM_TEXTSELECT WM_USER+2
class CPillar
{
public:
int index;
CRect rect;
CRect strRect;
CRect rcNumber;
int realNumber;
public:
CPillar()
{
}
void SetPillar(int Index,int x,int y,int Width,int Height,int line=1)
{
index =Index;
realNumber=Height*line;
rect =CRect(x,y-Height,x+Width*3/2,y);
strRect=CRect(rect.left,rect.bottom,rect.left+Width*3/2,rect.bottom+Width);
rcNumber=CRect(x,y-Height-Width*3/2,x+Width,y+Height);
}
void DrawPillar(CDC *pDC,COLORREF color=RGB(0,0,0))
{
pDC->FillSolidRect(rect,color);
long oldModle=pDC->SetBkMode(TRANSPARENT);
COLORREF oldColor=pDC->SetTextColor(color);
CString text;
text.Format("%d",index);
pDC->DrawText(text,strRect,DT_EXPANDTABS|DT_VCENTER|DT_CENTER);
text.Format("%d",realNumber);
pDC->DrawText(text,rcNumber,DT_EXPANDTABS|DT_VCENTER|DT_CENTER);
pDC->SetBkMode(oldModle);
pDC->SetTextColor(oldColor);
}
int PtInPillarRect(CPoint point)
{
if(rect.PtInRect(point))
{
return index;
}
else
{
return -1;
}
}
};
class AFX_EXT_CLASS CDataAnalyseBox : public CStatic
{
public:
CDataAnalyseBox();
~CDataAnalyseBox();
void SetHeight(int height);
void SetData(int dataArray[]);
void SetColor(COLORREF bkColor=RGB(0,0,0),
COLORREF frColor=RGB(0,0,0),
COLORREF selectColor=RGB(255,0,0));
protected:
CBrush m_nNullBrush;
int m_nArray[MAX_ARRAY];
int m_nMaxHeight;
CPillar pillar[12];
COLORREF m_corBk;
COLORREF m_corFR;
COLORREF m_corSe;
CString m_strName;
CWnd *m_pParentWnd;
public:
void SetTableName(CString name);
//{{AFX_VIRTUAL(CDataAnalyseBox)
protected:
virtual void PreSubclassWindow();
//}}AFX_VIRTUAL
protected:
//{{AFX_MSG(CDataAnalyseBox)
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
afx_msg void OnPaint();
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
#endif // !defined(AFX_DATAANALYSEBOX_H__7B9361E4_A4DD_44D8_AA56_87FACD312B2A__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -