⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawdlgblanke.h

📁 一个用于无刷直流电动机的驱动与控制程序.里面所用的采集卡的型号为MC08.
💻 H
字号:
#if !defined(AFX_DRAWDLGBLANKE_H__FF7277CB_6F3A_4564_90C8_15C4D0D23CF4__INCLUDED_)
#define AFX_DRAWDLGBLANKE_H__FF7277CB_6F3A_4564_90C8_15C4D0D23CF4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DrawDlgBlanke.h : header file
//
#include "MyCalculate.h"

/////////////////////////////////////////////////////////////////////////////
// DrawDlgBlanke dialog

class DrawDlgBlanke : public CDialog
{
// Construction
public:
	DrawDlgBlanke(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(DrawDlgBlanke)
	enum { IDD = IDD_DRAWDIALOG_BLANKE };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA
	//算法对象
	MyCalculate calculate_blanke;
	/*布尔变量的定义*/	
	BOOL m_bInitflag;	//对话框初始化标志	
	BOOL m_bGridOn;		//网格显示控制	
	BOOL m_bStartOn;	//开始试验控制	
	BOOL m_bDrawOn;		//开始画图控制
	BOOL m_bDataReady;	//数据获取完成
	BOOL m_bSaveBitmap;	//保存位图(保存试验实时曲线)标志
	BOOL m_bBitmapReady;//位图(保存试验实时曲线)创建成功
	
	/*主绘图参量*/
	CDC m_pMemory;         //主绘图DC
	CBitmap memBitmap;     //主绘图DC对应的位图
	CBitmap *pOldBmp;      //原有的位图
	CRect m_ClientRect;		//窗口矩形区域

	/*图形显示用矩形*/
	CRect m_PlotRect;		//图形显示窗口
	//CRect m_ChangeRect;    //变化后的显示窗口
	CRect m_LabelRect_Y;	//Y向标定矩形
	CRect m_LabelRect_X;	//X向标定矩形
	CRect m_TitleRect;		//标题用矩形
	CRect m_TextOutRect;  	//显示信息矩形	
	
	/*画线变量*/
	long m_LineWidth;//画笔宽度

	/*字体变量*/
	CFont Title_Font;   //标题用字体
	CFont Title_Font_X; //X轴标题显示用字体
	CFont Title_Font_Y; //Y轴标题显示用字体

	CFont Label_Font_X; //X,Y轴刻度显示用字体
	CFont Label_Font_Y;	//竖向显示用字体
	
	CFont Message_Font;		//显示信息用字
	CFont Message_Bottom;	//带下划线的显示信息

	/*所用颜色变量*/
	COLORREF m_BkColor;		//绘图区背景颜色
	COLORREF m_LineColor;	//线条颜色
	COLORREF m_GridColor;	//网格颜色
	COLORREF m_ReadColor;	//光标读值颜色
	COLORREF m_LabelColor;  //标定区背景色
	COLORREF m_FontColor;   //设置字体颜色

	/*所用数组、指针及其大小*/	
	double *dataShow_X;		//x向显示数组,当前显示x方向信号
	double *dataShow_Y;		//y向显示数组,当前显示y方向信号用
	double data_Peak[10];   //最多显示10个最大的峰值,并按从大到小排序
	long data_Peak_pos[10];	//10个最大幅值对应的位置

	/*其他类型变量的定义*/
	int m_nDrawType;	//画图类型控制
	int m_nHitnember;	//树型控件点击
	long m_Peak_Num;	//峰值个数,小于10的时候记录
	long m_X_Long;		//x向数组大小
	long m_Y_Long;		//y向数组大小
	double m_dMax_X;	//X轴最大值
	double m_dMin_X;	//X轴最小值
	double m_dMax_Y;	//Y轴最大值
	double m_dMin_Y;	//Y轴最小值
	int m_GridX;		//x向网格数
	int m_GridY;		//y向网格数
	
	/*所用的字符串变量*/
	CString  Uint_X;	//X坐标轴名称
	CString  Uint_Y;	//Y坐标轴名称	
	CString  Title;		//标题名称

	/*显示读数信息,放在标定函数内*/
	double m_dError;	//回差值
	double m_Average;	//平均值
	double m_ds;		//均方值

	/*保存位图相关变量*/
	BYTE *pBits;
	LPBITMAPINFO lpbmih;
	int iWidth ;	//存储位图的窗口宽度
    int iHeight;	//存储位图的窗口高度
    int iPixel ;
	HBITMAP hBitMap;
	CBitmap *pBitMap;

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(DrawDlgBlanke)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
	public:
	/*初始化及显示准备*/
	void InitDlg();//初始化窗口	
	void DistributeRect();//分割窗口
	void CreateMyFont();//创建字体

	/*图形显示*/
	void DrawMessage(CDC *pDC);//画图形显示信息
	void DrawTitleY(CDC *pDC);//画Y轴标题
	void DrawTitleX(CDC *pDC);//画X轴标题
	void DrawLabelY(CDC *pDC, double Ymax_time, double Ymin_time);//画Y轴示数
	void DrawLabelX(CDC *pDC, double Xmax_time, double Xmin_time);//画X轴示数	
	void DrawTitle(CDC *pDC);//画标题
	void DrawGrid(CDC *pDC);//画网格
	void DrawData(CDC *pDC);//画实时曲线
	void CreatBitmap();		//创建位图
	
	/*数据处理*/
	void GetData(double *y,double *x,long x_Long,long y_Long);//获取采集窗口的数据	
	void GetPeakData();//得到峰值信息

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(DrawDlgBlanke)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnMenuSavebitmap();
	//}}AFX_MSG
	//手动添加,点击空程回差试验主控窗口开始按钮消息响应函数
	afx_msg void OnMotBlanstarthit(WPARAM wParam, LPARAM lParam);
	//手动添加,空程回差试验中打开数据的消息响应函数
	afx_msg void OnOpendata(WPARAM wParam, LPARAM lParam);
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DRAWDLGBLANKE_H__FF7277CB_6F3A_4564_90C8_15C4D0D23CF4__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -