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. hihocoder 1032 manachar 求回文串O(n)

    #include <cstdio> #include <iostream> #include <algorithm> #include <queue> ...

  2. Solaris文件系统管理

    不同的操作系统使用不同类型的文件系统 1.文件(管理)系统:是用来对文件和目录进行管理.控制的数据结构的总称. Windows当中的文件系统: ntfs ,fat32 ,fat64 Solaris 当 ...

  3. 教你使用 Reflexil 反编译.NET

    简介 反编译的方式有很多种,其实最靠谱的还是IL反编译. 如果不懂IL可以尝试我这边文章入门:http://www.wxzzz.com/278.html 不过我下面要说的不是IL这种底层的代码反编译, ...

  4. Swift的两个小窍门

    一:查看Swift版本号(How do I see which version of Swift I’m using in Xcode?) 终端下输入:xcrun swift -version(in ...

  5. C语言判断回文数

    #include<stdio.h> #include<stdlib.h> int main() { //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 ...

  6. 简单vi配置:YouCompleteMe

    下图就是我的VI: 按F5 F6分别调出左右的窗体: 按C-P点出CtrlP搜索,直接查找project中的文件: 自己主动补全用的YouCompleteMe.超级强悍: watermark/2/te ...

  7. IntelliJ IDEA配置Tomcat及部署项目

    IntelliJ IDEA配置Tomcat及部署项目(原链接) 主要有以下几个要点 1.选择本地的tomcat容器. 2.可以选择修改访问路径. 3.On Update action 当我们按 Ctr ...

  8. 看不懂JDK8的流操作?5分钟带你入门(转)

    在JDK1.8里有两个非常高级的新操作,它们分别是:Lambda 表达式和 Stream 流. Lambda表达式 让我们先说说 Lambda 表达式吧,这个表达式最大的作用就是简化语法,让代码更加易 ...

  9. mongodb学习之:文档操作

    在上一章中有讲到文档的插入操作是用insert的方法.如果该集合不在该数据库中,mongodb会自动创建该集合并插入文档 用find的方法可以查找所有的集合数据 > db.maple.find( ...

  10. dij+堆优化

    写这个dij+堆优化的原因是有些地方卡SPFA,只能搞这个: 香甜的奶油: #include<iostream> #include<cstdio> #include<cs ...