📄 displaywindow.h
字号:
#if !defined(AFX_DISPLAYWINDOW_H__FC97F5C2_5127_11D6_A757_00055DA07630__INCLUDED_)
#define AFX_DISPLAYWINDOW_H__FC97F5C2_5127_11D6_A757_00055DA07630__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DisplayWindow.h : header file
//
//#include "DataDevice.h"
/////////////////////////////////////////////////////////////////////////////
// DisplayWindow window
#include <afxmt.h>
//#include "ezusbsys.h" // Added by ClassView
typedef struct _THREAD_CONTROL
{
HANDLE hDevice;
DWORD Ioctl;
PVOID InBuffer;
DWORD InBufferSize;
PVOID OutBuffer;
DWORD OutBufferSize;
DWORD BytesReturned;
HANDLE completionEvent;
BOOL status;
} THREAD_CONTROL, *PTHREAD_CONTROL;
#define SAMPLE_DEPTH 2048
typedef struct PageD
{
unsigned char cha_data[SAMPLE_DEPTH];
PageD * up;
PageD * next;
HGLOBAL hHandle;
} PAGEDATA;
#define H 20
#define ST 95
#define S 4
//#define XOFFSIZE 60
//#define YOFFSIZE 60
class DisplayWindow : public CStatic
{
DECLARE_DYNCREATE(DisplayWindow)
// Construction
public:
DisplayWindow();
PAGEDATA * pagedata,* pagedata_start,* pg;
HCURSOR m_hCursor1,m_hCursor2;
// CEvent comEventDraw;
// float zongbei;
// int speed;
// int ps,Lr,Rr;
// int X_B,X_H,X_S,X_I,X_D,X_E,X_b,X_h,X_s,X_i,X_d,X_e;
//
unsigned int cntB,cntX;
BYTE ord[8];
BOOL SelectT;
int ht[256];
CRect disRect;
BOOL dis_Flag,dis_DyRound;
int mouse_x,mouse_y;
int stp,disDyRound;
int offset; //显示偏移
int trig_sit; //触发位置
int trig_level;
BOOL firstdiswindow;
CString dismes;
float sampleFt;
// CEvent comEventEnd;
// Attributes
public:
// Operations
public:
CEvent comEventStart;
BOOL Caiyang,Play,L_and_R,Play_First,DrawLineFlag;
BOOL Kill_Theard,Kill_Play;
HCURSOR m_hCursor_H,m_hCursor_V;
float db,xindian_db;
int hh,ww,h_st,w_st,step,page;
int point [5][760];
BOOL isRecord;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(DisplayWindow)
public:
virtual void OnFinalRelease();
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
virtual BOOL DestroyWindow();
protected:
virtual void PreSubclassWindow();
//}}AFX_VIRTUAL
protected:
CBrush m_HollowBrush;
HANDLE hUsbInDevice;
CRect cha_arrow_rect,chb_arrow_rect;
BYTE scaleline_mode;
///测量线参数
int LeftScaleSit,RightScaleSit,UpScaleSit,DownScaleSit;
CRect rcClip;
int cha_offset;
int chb_offset;
BOOL cha_on;
BOOL chb_on;
BOOL trigger_line_on;
int m_cha_vlot_div;
int m_chb_vlot_div;
int m_time_div;
BOOL isDrawOther;
// BOOL disScaleLine;
CPoint m_ptCaretPos,draw[5];
// Implementation
public:
void GetChxFreq(BYTE d[],int * left_sit,int * cnt_sit,int * right_sit,int * rise_w,int * fall_w,BYTE top_d,BYTE bottom_d);
void Play_Next();
void Play_Back();
void Recall(void);
void RecordWave(BOOL flag);
BOOL SendCommandToUSB(BYTE * cmd_buffer,BYTE order);
void SetTriggerLevel(WORD v);
void SetChbVlot_Div(int v);
void SetChaVlot_Div(int v);
void DrawRectForText(CDC *pDC,int x,int y,CString title,CString str1,CString str2);
void SetTime_Div(int i);
void OpenScaleLine(BYTE mode);
BOOL SetChb_ON_OFF(BOOL isOn);
BOOL SetCha_ON_OFF(BOOL isOn);
void DisTrig_sit(CDC *pDC,int y);
void DrawIcurrenWave();
void DisScaleLine();
CRect DisRect;
void DisLeftAxis(CDC * pDC,int x,int y);
void DisVoltage(CDC *pDC,int x,int y,int w,int h);
BOOL DrawDispBack(CDC *pDC,int Width,int Height);
BYTE m_nTriggerType;
int Trigger();
void StopAD();
void PauseAD();
void StartAD();
void GetBackToBmp();
BOOL GetADdata(HANDLE hDevice);
BOOL UsbOpenDriver (HANDLE *phDeviceHandle, PCHAR devicename);
void GetFenXinData();
BOOL DrwaDyRrand(int s);
BOOL GetDYData();
BOOL GetDinBiaoData(int x);
void ReDrawSCreen();
void DisDinBiaoLine(CDC * pDC);
void DrawViewLine(int x);
BOOL DeletePage();
BOOL RecFlag;
void DrawLine();
void DisPageData(BOOL up_next);
BOOL AddPage();
void DisMes(CString mes);
void line(int xx);
void ReDraw();
int hz;
virtual ~DisplayWindow();
// Generated message map functions
protected:
void DrawXYgraph(CDC *pDC);
void DrawYTgraph(CDC *pDC);
CString GetFreqFromString(int time_w);
void DisplayZhiFuGrap(CDC *pdc);
BYTE Intrepol_sin(int t, LPBYTE pbuf, int s_T);
void GetFreq(int chx,int * left_sit,int * right_sit);
CString GetFreqString(int RightScaleSit,int LeftScaleSit);
void DisScaleLine(CDC *pDC,int x,int y,int w,int h);
BYTE Select;
void DisTopAxis(CDC * pDC, int x,int y);
void DisTimeVlem(CDC *pDC,int x,int y,int w,int h);
void TransferThread( PTHREAD_CONTROL threadControl);
void draw_line(CDC * pDC,int x,BOOL flag,char F);
//{{AFX_MSG(DisplayWindow)
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnPaint();
afx_msg void DrawLineGraph(WPARAM wParam, LPARAM lParam);
afx_msg UINT OnNcHitTest(CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
afx_msg void OnTimer(UINT nIDEvent);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
DECLARE_OLECREATE(DisplayWindow)
// Generated OLE dispatch map functions
//{{AFX_DISPATCH(DisplayWindow)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DISPLAYWINDOW_H__FC97F5C2_5127_11D6_A757_00055DA07630__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -