MFC绘制直角坐标系
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绘制直角坐标系的更多相关文章
- 【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁
摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁 2011 ...
- MFC绘制图片闪烁详解
用MFC如何高效地绘图 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题. 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案. MFC的 ...
- MFC绘制直方图和饼图
转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...
- [转载] MFC绘制动态曲线,用双缓冲绘图技术防闪烁
转载的原文地址 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静态曲线,那 ...
- MFC绘制棋盘格
(1)新建立一个MFC空白的基于视类的工程 (2)在View类中重写OnPaint消息 void CMy005View::OnPaint() { CPaintDC dc(this); // devic ...
- MFC 绘制坐标系
主要讨论映射模式:MM_ANISOTROPIC,MM_ISOTROPIC.及相关方法的应用. 1,先建立一个MFC单文档,过程不再赘述. 2,在View类中找到CMainFrame::PreCreat ...
- Delphi实例之绘制正弦函数图像
Delphi实例之绘制正弦函数图像 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphic ...
- Matlab的68个小常识
1.det(A)可以计算矩阵A的行列式值.inv(A)可以计算矩阵A的逆 2.rref(A)可以将矩阵A化为行简化阶梯梯形矩阵 3.eps是系统定义的容许误差,eps=2.2204*10-16 4.p ...
- 小白学 Python 数据分析(16):Matplotlib(一)坐标系
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
随机推荐
- Adam:大规模分布式机器学习框架
引子 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/46676515 又是好久没写博客,记得有一次看Ng大神的訪谈录,假设每周读三篇论文, ...
- django 运行python manage.py sqlall books 时报错 app has migration
出现这个问题的原因是版本之前的不兼容,我用的django版本是1.8.6 而 这条python manage.py sqlall books 是基于django1.0版本的. 在django1.8.6 ...
- 读取配置文件(configparser,.ini文件)
使用configparser来读取配置信息config.ini 读取的信息(config.ini)如下: [baseconf]host=127.0.0.1port=3306user=rootpassw ...
- angular ui $modal 使用 option
$modal是一个可以迅速创建模态窗口的服务,创建部分页,控制器,并关联他们 $modal仅有一个方法open(options) templateUrl:模态窗口的地址 template:用于显示ht ...
- JS 模板引擎 Handlebars.js 中文说明
Handlebars 为你提供了一个可以毫无挫折感的高效率书写 语义化的模板 所必需的一切. Mustache 模板和 Handlebars 是兼容的,所以你可以把Mustache模板拿来导入到Han ...
- Markdown 语法的超快速上手
本文支持WTFPL协议,因此你想往哪转就往哪转. Why markdown? Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. Ma ...
- 28个jQuery性能优化的建议
我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...
- 2016/08/11 Thinkphp之getField用法总结
getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值.但是事实上并没有那么简单,该方法的用法总结如下: 获取某个字段值 这个是ge ...
- dataware fact 事实 不可更新 data warehousing business intelligence 优劣判据
不可 Kimball维度建模 维度建模,而非数据建模 文本型度量是对某些事情的描述.虽然以文本方式度量事实是可行的,但是应将其放入维度表中,除非对事实表的每个行,其文本是唯一的. 数据仓库的好坏直接取 ...
- mac 中安装redis 以及 安装php-redis扩展过程详细记录
1. 通过homebrew 安装 redis sodu brew install redis 2. 安装后执行开启redis,采用默认配置, 默认配置只有本地(127.0.0.1)可以访问.需要远程访 ...