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. nginx-location rewrite

    location 语法 location 有”定位”的意思, 根据Uri来进行不同的定位. 在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上. 比如, 碰 ...

  2. 新建 .NET Core 控制台项目 C# 数组深拷贝

    新建 .NET Core 控制台项目 1. 安装 .NET Core SDK 1.0 参考微软官方网站 https://www.microsoft.com/net/download/windows 2 ...

  3. USB通讯协议

    首先要了解USB枚举过程(自己百度) https://blog.csdn.net/MyArrow/article/details/8270029 USB通讯协议 0. 基本概念 一个[传输](控制.批 ...

  4. HDFS源代码分析(二)-----元数据备份机制

    前言 在Hadoop中,全部的元数据的保存都是在namenode节点之中,每次又一次启动整个集群,Hadoop都须要从这些持久化了的文件里恢复数据到内存中,然后通过镜像和编辑日志文件进行定期的扫描与合 ...

  5. css-装饰

    css -在标签上设置style样式 background-color:#2356a1 height:48px -编写样式方法 1.标签的style属性 2.鞋子head里面,style标签中编写 - ...

  6. C#实现网段扫描

    目录1.使用的类2.获取本地主机IP地址3.远程查询4.实现网段的扫描 ---------------------------------------------------------------- ...

  7. Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

    运行/usr/local/webserver/php/bin/phpize时出现: Configuring for: PHP Api Version: 20041225 Zend Module Api ...

  8. VMware Workstation 14创建mac-10.12虚拟机详细步骤

     一.VMware和unlocker的下载和安装 链接:https://pan.baidu.com/s/15Z4DqRENt6JdyfJef_VWSw 密码:40vw 1.安装VMware Works ...

  9. Android Eclipse 导入 AS Gradle AAR 库手冊

    序言 这是一篇半技术类文章.众所周知如今Google主推Android Studio开发工具.而Eclipse已经被闲置一阵子了,可是Eclipse项目却还有非常多没有迁移到AS中.而如今一些新的库都 ...

  10. aapt命令获取apk具体信息(包名、版本号号、版本号名称、兼容api级别、启动Activity等)

    aapt命令获取apk具体信息(包名.版本号号.版本号名称.兼容api级别.启动Activity等) 第一步:找到aapt 找到sdk的根文件夹,然后找到build-tools文件夹.然后会看到一些b ...