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

📄 drawdlgrigid.h

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

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

/////////////////////////////////////////////////////////////////////////////
// DrawDlgRigid dialog

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

// Dialog Data
	//{{AFX_DATA(DrawDlgRigid)
	enum { IDD = IDD_DRAWDIALOG_RIGID };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA
	//算法对象
	MyCalculate calculate_rigid;
	/*--------画图变量定义--------*/
	/*布尔变量的定义*/	
	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方向信号用	

	/*其他类型变量的定义*/
	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;	//X轴最大值
	double m_dMin_Y;	//X轴最大值
	int m_GridX;		//x向网格数
	int m_GridY;		//y向网格数
	
	/*所用的字符串变量*/
	CString  Uint_X;  //X坐标轴名称
	CString  Uint_Y;  //Y坐标轴名称	
	CString  Title;  //标题名称

	/*显示读数信息,放在标定函数内*/
	double m_dOutRigid;//输出轴刚度值
	double m_dInRigid;//输入轴刚度值	
	double m_dError;//回差值

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

	/*--------刚度及回差试验变量定义--------*/
	double *m_pDataX;//用于存放从编码器传送过来的X轴数据,即扭矩
	double *m_pDataY;//用于存放从编码器传送过来的Y轴数据,即转角
	long m_nDataLong;//试验中单边加载次数
	/*--------刚度及回差试验变量定义结束--------*/
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(DrawDlgRigid)
	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(DrawDlgRigid)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnMenuSavebitmap();
	//}}AFX_MSG
	//手动添加,点击刚度及回差试验主控窗口开始按钮消息响应函数
	afx_msg void OnMotrigstarthit(WPARAM wParam, LPARAM lParam);
	//手动添加,编码器读取数据达到设定值的消息响应函数
	afx_msg void OnCoderDaqFinish(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_DRAWDLGRIGID_H__BCD8D4EE_8FFB_4E9D_87A0_6084CDF624CE__INCLUDED_)

⌨️ 快捷键说明

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