📄 graphisc.h
字号:
#if !defined(AFX_GRAPHISC_H__6A743144_95B4_43EE_BEBC_EEC20CF0B4D7__INCLUDED_)
#define AFX_GRAPHISC_H__6A743144_95B4_43EE_BEBC_EEC20CF0B4D7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Graphisc.h : header file
//
#include <list>
#include <iterator>
#include "Vsbq.h"
#define FREQUENCY 720
typedef struct _CoordinateRange
{
float xMin; //示波器当前的X轴的最小值
float xMax; //示波器当前的X轴的最大值
float yMin; //示波器当前的Y轴的最小值
float yMax; //示波器当前的Y轴的最大值
short xLattice; //示波器x分为XLATTECE等分
short yLattice; //示波器y分为XLATTECE等分
}CoordinateRange;
/////////////////////////////////////////////////////////////////////////////
// CGraphisc window
class CGraphisc// : public CStatic
{
// Construction
public:
CGraphisc();
public:
CString cerror; //表述错误的字符
long m_valNum;
POINT m_valArry[1024]; //数据
float *m_pvalData; //波形数据
float m_DownWave[256]; //下载的波形数据
CPoint m_startPnt[FREQUENCY];
CString m_strReceiveMsg;
CoordinateRange CdtRange; //示波器结构体
public:
HPEN m_noniusPen; // 画游标的画笔
HPEN m_myPen; // 画游标刻度的画笔
CBrush *pBrush, *pOldBrush;
CBrush *pBrush1, *pOldBrush1;
CBrush *pBrush2;
CPen m_pen;
CPen m_pen1;
CPen m_penPrint1;
CPen m_penPrint2;
bool bFontIsCreate; // 是否创建了一种自定义字体的标志
CFont* pLegendFont; // 一种字体
CPoint LButtonDownPoint; // 鼠标左键按下时的点
CPoint LButtonUpPoint; // 鼠标左键松开时的点
CRgn m_rgnCurve; // 标识区域
CPoint StartPoint; // 示波器的左上角点
CPoint EndPoint; // 示波器的右下角点
HCURSOR m_hCursor; // 定义一特性光标
CPoint m_oldMousePoint; // 鼠标移动的当前点的前一点
CPoint m_nonuispointS1; // X轴上游标1的左上角的点
CPoint m_nonuispointE1; // X轴上游标1的右下角的点
CPoint m_nonuispointS2; // X轴上游标2的左上角的点
CPoint m_nonuispointE2; // X轴上游标2的右下角的点
CPoint m_nonuispointYS1; // Y轴上游标1的左上角的点
CPoint m_nonuispointYE1; // Y轴上游标1的右下角的点
CPoint m_nonuispointYS2; // Y轴上游标2的左上角的点
CPoint m_nonuispointYE2; // Y轴上游标2的右下角的点
bool LButtonDownFlage; // 鼠标左键按下标志
bool m_bLbuttonFlage1; // 鼠标左键是否按过游标1标志
bool m_bLbuttonFlage2; // 鼠标左键是否按过游标2标志
bool m_bLbuttonFlage3; // 鼠标左键是否按过游标3标志
bool m_bLbuttonFlage4; // 鼠标左键是否按过游标4标志
bool MouseMoveFlag; // 鼠标左键在游标区域内被按下后是否移动的标志
public:
// void test();
void ComputeValueCH1(); // 计算CH1通道的的各种数据
void OnLButtonUp(UINT nFlags, CPoint point); //鼠标左键弹起
void OnMouseMove(UINT nFlags, CPoint point); //鼠标移动
int IsINWave(CPoint cpoint); //判断是否在相应的游标范围内
void LoadCur(UINT CurName); //加载光标
void LButtonDown(CPoint cPoint, int flage);
void Show(CDC *pDC,CPoint PointS,CPoint PointE,CRect ClientRect,
CString flage,BOOL ColFlage); // 画一个示波器
void CreateFont();
void ChangCDT(CoordinateRange CdtRange); // 传值函数,初始化
void TextShow(CDC *pDC,CPoint PointS,CPoint PointE); // 画示波器背景
bool CreateWave(CoordinateRange CdtRange); // 传值函数,初始化
// CDC *pDC;
// Operations
public:
void OnWaveFileSave(); // 波形文件保存
void OnWaveFileOpen(); // 波形文件打开
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGraphisc)
//}}AFX_VIRTUAL
// Implementation
public:
void DrawWave(CDC *pDC, BOOL m_bPrintFlage); // 画波形函数图象
void DrawWavePrint(CDC *pDC); // 画打印时的 波形函数图象
CPoint pPointArrayL[2000]; // 用于画波形的数据(CH1)
CPoint pPointArrayR[2000]; // 用于画波形的数据(CH2)
CPoint pPointArrayLeft[2000]; // 用于画波形的数据(CH1)
CPoint pPointArrayRight[2000]; // 用于画波形的数据(CH2)
void DrawCustomFuction(CDC *pDC); // 画自定义波形函数图象
// void PrintChart(CDC *pDC, int x, int y);
virtual ~CGraphisc();
private:
void SaveWave(CString str);
// Generated message map functions
protected:
//{{AFX_MSG(CGraphisc)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_GRAPHISC_H__6A743144_95B4_43EE_BEBC_EEC20CF0B4D7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -