好久没更新总结了,最近在调试系统板,实现AD数据采集,嵌入式硬件已经完成,接下来需要完成上位机软件,实现信号的采集显示。作为开篇,先来完成窗口布局和背景绘制吧!(开发平台为VS2013)

1)创建FMC对话框工程;

2)在CxxDlg类中添加DrawBackGround(CDC *pDC)函数;

3)在CxxDlg.cpp的OnPaint()函数中添加绘制背景代码(CDialogEx::OnPaint();语句前添加):

CPaintDC dc(this);
DrawBackGround(&dc);

要点:窗口的创建和区域更新均会自动调用OnPaint()函数,因此绘制函数放到次函数中。

4)在DrawBackGround(CDC *pDC)函数中添加绘制背景及线条代码。

要点:

a)填充背景:
CBrush *pBrush = new CBrush(RGB(0, 0, 0));
pDC->FillRect(&rect, pBrush);
delete pBrush;

b)设置画笔:
pDC->SetBkColor(RGB(0, 0, 0));//背景色,绘制虚线时能体现作用
CPen *pPen = new CPen();//创建画笔对象
pPen->CreatePen(PS_SOLID, 2, RGB(200, 200, 200));
CGdiObject *pOldPen = pDC->SelectObject(pPen);

c)绘制线条:

pDC->MoveTo(WINDOW_OFFSET, WINDOW_OFFSET);//起点
pDC->LineTo(WINDOW_OFFSET, WINDOW_OFFSET + WINDOW_HIGHT);//终点

d)更换画笔:

pPen->DeleteObject();
pPen->CreatePen(PS_DASHDOT, 1, RGB(50, 50, 50));
pDC->SelectObject(pPen);
e)释放画笔:
pDC->SelectObject(pOldPen);//恢复以前的画笔
delete pPen;

5)根据布局设计,适当调整对话框窗口大小即可,运行效果如下图。

VS简易示波器(一):窗口布局及背景绘制相关推荐

  1. 基于STM32F103的简易示波器设计

    基于STM32F103的简易示波器设计(基于正点原子mini开发板) 摘要 本设计采用STM32F103微控制器,硬件为正点原子的MiniSTM32开发板,设计一个示波器,能够测量输入信号的频率.最大 ...

  2. Idea工具,窗口布局全乱了,怎样恢复到原始界面,但又不用重新导入项目?

    背景 用idea 进行开发有好一阵子了,以前用的是myeclipse,先入为主,一直觉得myelipse 才是最好用的,自从引入idea之后,才感觉发现新大陆,确实是太好用了: 最近不知道怎么搞的,把 ...

  3. Android N 多窗口布局 省电模式 全新通知功能

    今年google 16 i/o 强势推出 android n 迄今为止还没有给他命名.有兴趣的可以登录网站 https://www.android.com/versions/name-n/ 会中提到a ...

  4. C语言GUI编程之数字记忆游戏——项目目录结构和初步的窗口布局

    目录 项目目录结构 创建项目 命名规范 目录结构 编程模式 MVC 实例 初步的窗口布局 效果 EasyX的使用 总结 项目目录结构 创建项目 在Visual Studio 2022中创建一个空白的项 ...

  5. Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)

    目录 1. 水平布局类(QHBoxLayout) 2.垂直布局类(QVBoxLayout) 3.网格布局类(QGridLayout) 3.1.单一的网络布局 3.2.跨越行.列的网络布局 4.表单布局 ...

  6. Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

    目录 1.布局管理器进行布局 2.容器控件进行布局 3.geometry属性:控件绝对布局 4.sizePolicy属性:微调优化控件布局 Qt Designer提供4种窗口布局方式,分别如下: Ve ...

  7. Android——设置布局的背景颜色

    //设置布局的背景颜色 linearLayout.setBackgroundColor(getResources().getColor(R.color.color_blue)); 要求版本API 16

  8. 成功解决Eclipse窗口布局混乱或者Eclipse窗口布局出现单独独立小窗口的问题(图文教程)

    成功解决Eclipse窗口布局混乱或者Eclipse窗口布局出现单独独立小窗口的问题 目录 解决问题 解决思路 解决方法 解决问题 Eclipse窗口布局混乱或者Eclipse窗口布局出现单独独立小窗 ...

  9. vs2010恢复窗口布局

    vs2010恢复窗口布局 例如我现在的窗口: 这样就恢复了,我们来看一下效果: vs2010知识扩展: 快捷键: F9:设置断点,如果当前有断点则取消断点. F10:一条一条的运行 Ctrl+G(g) ...

最新文章

  1. 二 RHEL7.2下的Docker配置
  2. Android 4.0中振动控制
  3. 目标检测R-CNN模型的CNN模块微调过程分析【全网最易懂】
  4. 艾伟_转载:.NET 4.0新特性-- Corrupted State Exceptions
  5. java 迷你桌面地图_求教贴,Java桌面小游戏的地图怎么做
  6. 生成全1矩阵_2020美赛A题(1)-图像处理
  7. TCP协议的三次握手+四次断开
  8. cisco2811 路由器修改密码
  9. redmibook pro 14 arch linux alsamixer 检测不到声卡
  10. fft算法的c语言实现dsp,基于DSP的FFT算法实现.doc
  11. Centos7安装oracle11g R2超级详细步骤
  12. gps android 卫星位置,Android手机GPS获取卫星数量不正确问题
  13. switch的使用及注意事项
  14. DevExpress_Winform_使用汇总
  15. 字节跳动后端面经(18)
  16. eft join 是left outer join的区别
  17. HTML5 + CSS +JavaScript基本标签的使用(入门
  18. c++类和对象---多态
  19. 【资源分享】Prezi的介绍——PPT的取代工具(文末有安装软件教程和大量资源的下载链接)
  20. oracle存储过程sql und,oracle导入sql脚本

热门文章

  1. iebook 去广告补丁(替换底部动画)
  2. 【Nav2中文网】七、配置指南(三)行为树XML节点 之 控制插件--RoundRobin
  3. 虚幻引擎UE4.25版本使用Android打包出错提示:ERROR: cmd.exe failed with args /c 和 :app:assembleDebug的解决方法
  4. 精通这些手动CNC编程G代码和M代码,月薪过万没问题
  5. python爬虫:利用多线程爬虫爬取下载进击的巨人图片
  6. 练习:科比数据集的处理和预测
  7. HTML入门零基础教程(六)
  8. Mongodb 数据库基本操作语句,结合 Node.js + express + mongoose (实现增、删、改、查,批量增加、修改等,创建临时表,多表查询......)
  9. java 线程aba,浅谈Java中ABA问题及避免,浅谈javaaba避免
  10. [每日电路图] 9、介绍一种低价简单的4.2V锂电池充电及稳压(LDO)电路——RT9193,SD8017...