我们可以在基于对话框的mfc visual studio 2010中绘制形状(线条,圆形等)吗?

时间:2011-07-06 12:54:59

标签: visual-c++ mfc sdi dialogbasedapp

我想通过基于对话框的MFC visual c ++来实现示波器显示一些不同的频率,但是当我搜索太多时,我发现在visual c ++中绘制形状的唯一方法是使用SDI或MDI! 我想知道是否有办法通过基于对话框的mfc绘制我的频率图表。 如果有人知道任何参考,如果他/她介绍给我,我真的很感激。

2 个答案:

答案 0 :(得分:3)

是的,您可以使用MFC绘制对话框。

简而言之,在对话框中删除“静态”(或图像,我不确定)资源,覆盖/派生类并处理WM_PAINT消息以绘制图形/示波器。

看看http://www.codeproject.com/KB/miscctrl/High-speedCharting.aspx是一个很好的例子。

答案 1 :(得分:1)

您可以使用GDI绘制任何内容,如果您计划重复使用,甚至可以为示波器实现自定义控件,否则您可以使用静态/图片框架作为容器。

对于可能有很多更新的东西,比如示波器,你可能需要双倍缓冲你绘制的表面,否则你会撕裂。可以找到使用GDI的简短概述here

MFC有自己的GDI数据结构和函数,see this