• 大小: 469KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-27
  • 语言: C/C++
  • 标签: MFC  VS2012  画图  串口  

资源简介

用vs2012开发,基于对话框的MFC程序,串口通信使用Serialport类,里面包含弹出窗口、利用父窗口函数、绘制分析波形等等

资源截图

代码片段和文件信息

// Analysis.cpp : 实现文件
//

#include “stdafx.h“
#include “bishe1.h“
#include “Analysis.h“
#include “afxdialogex.h“
extern int datas[1000];
extern int cnt;
extern int chaxuntimes;
extern int chaxundata[20];



// CAnalysis 对话框

IMPLEMENT_DYNAMIC(CAnalysis CDialogEx)

CAnalysis::CAnalysis(CWnd* pParent /*=NULL*/)
: CDialogEx(CAnalysis::IDD pParent)
{

}

CAnalysis::~CAnalysis()
{
}

void CAnalysis::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX IDC_DRAW m_picDraw);
}


BEGIN_MESSAGE_MAP(CAnalysis CDialogEx)
ON_BN_CLICKED(IDC_BUTTON1 &CAnalysis::OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON3 &CAnalysis::OnBnClickedButton3)
ON_BN_CLICKED(IDC_BUTTON4 &CAnalysis::OnBnClickedButton4)
END_MESSAGE_MAP()


// CAnalysis 消息处理程序

void CAnalysis::OnBnClickedButton3()//查询
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();
int num1num2num3=1;
int num1_shinum1_fen;
int num2_yuenum2_ri;
num1=GetDlgItemInt(IDC_EDIT1);//时间
num2=GetDlgItemInt(IDC_EDIT2);//日期
num1_shi=num1/100;
num1_shi=mychangeformat(num1_shi);
num1_fen=num1%100;
num1_fen=mychangeformat(num1_fen);
num2_yue=num2/100;
num2_yue=mychangeformat(num2_yue);
num2_ri=num2%100;
num2_ri=mychangeformat(num2_ri);
for(int i=0;i {
if((datas[i]==num1_fen)&&(datas[i+1]==num1_shi)&&(datas[i+2]==num2_ri)&&(datas[i+3]==num2_yue))
{
num3=datas[i+5];
chaxundata[chaxuntimes]=num3;
chaxuntimes++;
break;
}
}
SetDlgItemInt(IDC_EDIT3num3);
UpdateData(false);
}

void CAnalysis::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
}


void CAnalysis::OnBnClickedButton4()//波形分析
{
// TODO: 在此添加控件通知处理程序代码
 CDC *pDC=m_picDraw.GetDC();
 CRect rectPicture;
 m_picDraw.GetClientRect(&rectPicture); 
 CPen newPen;       /// 用于创建新画笔   
     CPen *pOldPen;     /// 用于存放旧画笔
 newPen.CreatePen(PS_SOLID 2 RGB(000));/// 创建实心画笔,粗度为2,颜色为黑色色      
     pOldPen = pDC->Selectobject(&newPen);/// 选择新画笔,并将旧画笔的指针保存到pOldPen 
 int maxdata=chaxuntimes+1;
 for(int i=0;i  {
if(chaxundata[i]>maxdata)maxdata=chaxundata[i];
 }
 maxdata+=10;
int width=rectPicture.Width();
int height=rectPicture.Height();
//确定坐标图四周预留的空白大小
const int mytop=rectPicture.Height()/10;
const int mybottom=rectPicture.Height()/10;
const int myleft=rectPicture.Width()/10;
const int myright=rectPicture.Width()/10;
double intervalX = ((double)rectPicture.Width())*0.8 / (chaxuntimes - 1);    
double intervalY = ((double)rectPicture.Height())*0.8 / maxdata; //纵坐标表示灰度值
pDC->MoveTo(int(myleft)int(height-(mybottom+chaxundata[0]*intervalY)));
for(int i=0;i {
pDC->LineTo(int(myleft+i*intervalX)int(height-(mybottom+chaxundata[i]*intervalY)));
}
 pDC->Selectobject(pOldPen); //// 恢复旧画笔     
     newPen.Deleteobject();/// 删除新画笔
 255;

//绘制X,Y轴//X轴从图形区域最左端到最右端
float bottomY=0;
float leftX=0;
//bottomY表示X轴的y值,leftX表示Y

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-12-31 16:06  bishe1\
     目录           0  2013-12-31 16:06  bishe1\bishe1\
     文件         885  2013-11-26 14:46  bishe1\bishe1.sln
     文件       44032  2013-12-29 16:38  bishe1\bishe1.v11.suo
     文件        5333  2013-12-29 16:22  bishe1\bishe1\Analysis.cpp
     文件         550  2013-12-29 16:22  bishe1\bishe1\Analysis.h
     文件      604732  2013-12-29 16:32  bishe1\bishe1\bishe1.aps
     文件        2368  2013-11-26 14:45  bishe1\bishe1\bishe1.cpp
     文件         444  2013-11-26 19:35  bishe1\bishe1\bishe1.h
     文件       16168  2013-12-29 16:32  bishe1\bishe1\bishe1.rc
     文件        6560  2013-12-27 13:36  bishe1\bishe1\bishe1.vcxproj
     文件        2865  2013-11-26 19:23  bishe1\bishe1\bishe1.vcxproj.filters
     文件        6658  2013-12-29 16:31  bishe1\bishe1\bishe1Dlg.cpp
     文件         930  2013-12-29 15:26  bishe1\bishe1\bishe1Dlg.h
     文件        4017  2013-11-26 14:45  bishe1\bishe1\ReadMe.txt
     文件        1599  2013-12-29 16:23  bishe1\bishe1\Requere.cpp
     文件         509  2013-12-29 16:21  bishe1\bishe1\Requere.h
     目录           0  2013-12-31 16:05  bishe1\bishe1\res\
     文件        3154  2013-12-29 15:22  bishe1\bishe1\resource.h
     文件       67777  2013-06-05 10:20  bishe1\bishe1\res\bishe1.ico
     文件         668  2013-11-26 14:45  bishe1\bishe1\res\bishe1.rc2
     文件      493038  2013-11-26 19:04  bishe1\bishe1\res\背景1.bmp
     文件       21070  2012-08-11 22:13  bishe1\bishe1\SerialPort.cpp
     文件        3307  2012-08-11 21:54  bishe1\bishe1\SerialPort.h
     文件        2980  2013-12-29 16:30  bishe1\bishe1\Settings.cpp
     文件         695  2013-12-27 14:44  bishe1\bishe1\Settings.h
     文件         139  2013-11-26 14:45  bishe1\bishe1\stdafx.cpp
     文件        1578  2013-11-26 14:45  bishe1\bishe1\stdafx.h
     文件         234  2013-11-26 14:45  bishe1\bishe1\targetver.h

评论

共有 条评论