void CMyPicoTestDlg::DrawWave(CDC *pDC,CRect &rectPicture)
{ CPen newPen; //用于创建新画笔
CPen *pOldPen; //用于存放旧画笔
CBrush newBrush; //用于创建新画笔
CBrush *pOldBrush; //用于存放旧画笔
newBrush.CreateSolidBrush(RGB(,,)); //新建黑色画刷
pOldBrush=pDC->SelectObject(&newBrush); //选择新画刷并将旧画刷的指针保存在pOldBrush
pDC->Rectangle(rectPicture); //黑色画刷为绘图控件,形成黑色背景
pDC->SelectObject(pOldBrush);//恢复旧画刷
newBrush.DeleteObject(); //删除新画刷 newPen.CreatePen(PS_SOLID,,RGB(,,)); //创建实心画笔,粗度为1,颜色为绿色
pOldPen=pDC->SelectObject(&newPen);//选择新画笔,并将旧画笔的指针保存在pOldPen
/************************************************************************/
/* 坐标轴 */
/************************************************************************/
//x轴
pDC->MoveTo(,rectPicture.Height()/);
pDC->LineTo(rectPicture.Width(),rectPicture.Height()/);
//y轴
pDC->MoveTo(rectPicture.Width()/,);
pDC->LineTo(rectPicture.Width()/,rectPicture.Height());
//x轴刻度 for (int32_t i=rectPicture.Width()/-;i>;i-=)
{
pDC->MoveTo(i,rectPicture.Height()/);
pDC->LineTo(i,rectPicture.Height()/-);
}
for (int32_t i=rectPicture.Width()/+;i<rectPicture.Width()+;i+=)
{
pDC->MoveTo(i,rectPicture.Height()/);
pDC->LineTo(i,rectPicture.Height()/-); }
//y轴刻度
for (int32_t i=rectPicture.Height()/-;i>;i-=)
{
pDC->MoveTo(rectPicture.Width()/,i);
pDC->LineTo(rectPicture.Width()/+,i);
}
for (int32_t
i=rectPicture.Height()/+;i<rectPicture.Height();i+=)
{
pDC->MoveTo(rectPicture.Width()/,i);
pDC->LineTo(rectPicture.Width()/+,i);
}
pDC->SelectObject(pOldPen);//恢复旧画笔
newPen.DeleteObject();//删除新画笔
}

调用

void CMyPicoTestDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码 CRect rectPicture;
m_picDraw.GetClientRect(&rectPicture);
//绘制坐标系
DrawWave(m_picDraw.GetDC(), rectPicture); }

MFC绘制直角坐标系的更多相关文章

  1. 【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁   2011 ...

  2. MFC绘制图片闪烁详解

    用MFC如何高效地绘图             显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题.     而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案.     MFC的 ...

  3. MFC绘制直方图和饼图

    转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...

  4. [转载] MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    转载的原文地址 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静态曲线,那 ...

  5. MFC绘制棋盘格

    (1)新建立一个MFC空白的基于视类的工程 (2)在View类中重写OnPaint消息 void CMy005View::OnPaint() { CPaintDC dc(this); // devic ...

  6. MFC 绘制坐标系

    主要讨论映射模式:MM_ANISOTROPIC,MM_ISOTROPIC.及相关方法的应用. 1,先建立一个MFC单文档,过程不再赘述. 2,在View类中找到CMainFrame::PreCreat ...

  7. Delphi实例之绘制正弦函数图像

    Delphi实例之绘制正弦函数图像 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphic ...

  8. Matlab的68个小常识

    1.det(A)可以计算矩阵A的行列式值.inv(A)可以计算矩阵A的逆 2.rref(A)可以将矩阵A化为行简化阶梯梯形矩阵 3.eps是系统定义的容许误差,eps=2.2204*10-16 4.p ...

  9. 小白学 Python 数据分析(16):Matplotlib(一)坐标系

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

随机推荐

  1. (利用DOM)在新打开的页面点击关闭当前浏览器窗口

    1.在开发过程中我们前端的用户体验中有时候会要求点击一个按钮,关闭当前浏览器窗口,用HTML DOM就可做到 2.注意:本次写法要求在新窗口中关闭.target="_blank" ...

  2. Ffmpeg 实现文件切割

    文件切割是一项很常见的基本功能,通过Ffmpeg可以很容易实现这项功能. 首先介绍下基本原理,文件切割说白了就过滤掉文件的部分音视频包,按照什么规则过滤呢? 答案是时间戳.文件中每个视频及音频包都有时 ...

  3. linux查找文件夹下的全部文件里是否含有某个字符串

    查找文件夹下的全部文件里是否含有某个字符串  find .|xargs grep -ri "IBM"  查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称  fin ...

  4. create a backdoor deb package

    以下介绍怎样制作包括后门的deb安装包.以tree为例进行说明.利用apt-get下载安装包.--download-only表示仅仅下载不做其它处理. root@deb:~#apt-get downl ...

  5. PCB常用单位转换 mil 英尺

    PCB常用单位转换 mil 英尺 相关常用单位     1mil   = 0.0254mm 100mil = 2.54mm 1英寸   = 1000mil = 2.54cm 1英尺   = 12英寸  ...

  6. POJ 2263 Heavy Cargo(ZOJ 1952)

    最短路变形或最大生成树变形. 问 目标两地之间能通过的小重量. 用最短路把初始赋为INF.其它为0.然后找 dis[v]=min(dis[u], d); 生成树就是把最大生成树找出来.直到出发和终点能 ...

  7. iOS开发者必备:四款后端服务工具

    本文转载至 http://mobile.51cto.com/iphone-411917.htm 对于开发者来说,连接后端数据或许是一件特别痛苦的事情.但后端服务却能够帮助开发人员以更快的速度构建移动应 ...

  8. windows 复制 文本文件内容 到剪切板

    shell  打开 type filename | clip

  9. Vue 单页面应用 SEO SPA single page application advantages and disadvantages

    处理 Vue 单页面应用 SEO 的另一种思路 - muwoo - 博客园 https://www.cnblogs.com/tiedaweishao/p/7493971.html SPA网站SEO完美 ...

  10. Connection Phase Packets

    Connection Phase Packets https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet ...