求教关于OnPaint的一个用法

greatoo_cx 2012-03-19 03:03:15
本人有一个问题,需要画一个趋势曲线图。目前我已经将趋势的各个点存入数组里。
float input[512]='';
我写了一个画图的函数DrawDownTrafficDiagram(),需要将存入数据的变量传到函数里即可。但是有一个问题,由于我存入数组的数据会5秒更新一次,所以我要用OnPaint来刷新绘图界面,而数组是在另外一个CPP文件里写的,我不知道应该如何把这个变量传到OnPaint()函数里面,从而让DrawDownTrafficDiagram()获取变量。
void DataShowDlg::OnPaint()
{
DrawBackGround();//画背景函数
DrawDownTrafficDiagram();//画趋势曲线函数
CDialog::OnPaint();
}
请高手指点,谢谢!!
...全文
128 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatoo_cx 2012-03-20
  • 打赏
  • 举报
回复
这个问题没人知道吗,简单的说就是我在OnPaint()函数里面调用了一个画图的函数,我现在要传变量到画图的函数里面去,因为代码要先经过OnPaint()函数,我不知道如何在OnPaint()函数里面获取别的cpp文件得出的Cstring型变量
greatoo_cx 2012-03-20
  • 打赏
  • 举报
回复
楼上什么意思啊,能不能说明白一点呢????
赵4老师 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 greatoo_cx 的回复:]
这个问题没人知道吗,简单的说就是我在OnPaint()函数里面调用了一个画图的函数,我现在要传变量到画图的函数里面去,因为代码要先经过OnPaint()函数,我不知道如何在OnPaint()函数里面获取别的cpp文件得出的Cstring型变量
[/Quote]
用全局变量
赵4老师 2012-03-19
  • 打赏
  • 举报
回复
SAMPLES\MFC\scribble\step1~7\
greatoo_cx 2012-03-19
  • 打赏
  • 举报
回复
在线急等,请指点一下.
greatoo_cx 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bluewanderer 的回复:]
全局变量的话前面OnPaint所在的cpp文件里使用前extern float[512];声明一下就成了。
[/Quote]
这个变量是我用程序获取的,我要传到另外一个cpp文件里。
greatoo_cx 2012-03-19
  • 打赏
  • 举报
回复
我不传给OnPaint,
DrawDownTrafficDiagram();//画趋势曲线函数
这段代码就有问题了啊?
//将值传给画图界面
if(nCount > 1)
{
DataShowDlg DataShow;
DataShow.DrawDownTrafficDiagram(strData,nCount);
}
我是这样传变量的,strData就是我要传的变量,可是OnPaint()函数里面的DrawDownTrafficDiagram();会报错。
bluewanderer 2012-03-19
  • 打赏
  • 举报
回复
全局变量的话前面OnPaint所在的cpp文件里使用前extern float[512];声明一下就成了。
pathuang68 2012-03-19
  • 打赏
  • 举报
回复
你不需要将数据传到OnPaint里面,只要传给DrawDownTrafficDiagram()就可以了

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧