VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 806|回复: 8

[求助] 在工作线程创建的Socket收到数据后,如何在View视图里划出曲线轨迹?

[复制链接]
52_avatar_middle
在线会员 发表于 2016-5-2 18:02:06 | 显示全部楼层 |阅读模式
3驿站币
用socket编了个程序,接收到客户端传来的数据后(实际上是一个个点的坐标信息),想把这些点的坐标传到view视图里画出各个点的轨迹,如何实现?
主要是搞不清楚,数据传过来后,view类怎样实现根据点的坐标画轨迹。涉及到多线程问题。请赐教!

最佳答案

查看完整内容

1 定義一個 數組 保存 要繪製的 點 2 收到數據後 將 點 更新到1的 數組中 3 在view 的OnDraw 函數中 將點繪製出來




上一篇:编程抓取windows servers 2003 的hash
下一篇:关于WINHTTP 问题。
74_avatar_middle
在线会员 发表于 2016-5-2 18:02:07 | 显示全部楼层
1 定義一個 數組 保存 要繪製的 點
2 收到數據後 將 點 更新到1的 數組中
3 在view 的OnDraw 函數中 將點繪製出來
52_avatar_middle
ico_lz  楼主| 发表于 2016-5-3 13:20:43 | 显示全部楼层
zuiwuchang 发表于 2016-5-2 23:46
1 定義一個 數組 保存 要繪製的 點
2 收到數據後 將 點 更新到1的 數組中
3 在view 的OnDraw 函數中 將點 ...

首先感谢您的回复。
有两个问题想问您,
1:Server端接收数据时是while死循环,要保证在接收一个数据后就画一个点,是实时动态的画点,怎样实现在接收一个点后就传到view里进行OnDraw呢?
2:需要的坐标数据是不定的,用数组恐怕不行,用数组指针应该可以吧?
51_avatar_middle
online_admins 发表于 2016-5-3 15:30:53 | 显示全部楼层
2# 正解,其实这就好比是个消息队列,收到之后放进去,有专门的现成从这个队列中取节点进行处理
52_avatar_middle
ico_lz  楼主| 发表于 2016-5-3 16:29:51 | 显示全部楼层
Syc 发表于 2016-5-3 15:30
2# 正解,其实这就好比是个消息队列,收到之后放进去,有专门的现成从这个队列中取节点进行处理

谢谢您,您的意思是我不需要再开辟一个界面线程专门绘制点的坐标了是吧?这里我纠结了很久,而且,也想到了用PostThreadMessage把坐标数据发送到view里去,但是又没获取到消息。感谢上边两位高手!
51_avatar_middle
online_admins 发表于 2016-5-3 16:49:11 | 显示全部楼层
guyoubin 发表于 2016-5-3 16:29
谢谢您,您的意思是我不需要再开辟一个界面线程专门绘制点的坐标了是吧?这里我纠结了很久,而且,也想到 ...

嗯,应该不用的,直接放到主线程中处理试试
52_avatar_middle
ico_lz  楼主| 发表于 2016-5-3 17:54:07 | 显示全部楼层
Syc 发表于 2016-5-3 16:49
嗯,应该不用的,直接放到主线程中处理试试

嗯,多谢!
我用的全局变量把两个坐标传过去了,可是如果view不刷新(不改变窗口),OnDraw函数里的点显示不出来,把窗口最小化再最大化,才能显示出所画的点,点也是在变化的,但View怎么不会自动刷新?
52_avatar_middle
ico_lz  楼主| 发表于 2016-5-3 18:20:41 | 显示全部楼层
弄出来了,再次感谢二位,
因为没有消息触发,所以需自己update view.
40_avatar_middle
在线会员 发表于 2016-5-13 08:56:32 | 显示全部楼层
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-21 14:53

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表