类QQ界面设计求教!只要参与就给分。分不够再加!

时间:2022-02-17 21:26:09
想实现像QQ一样漂亮的界面。主要是那颗人员列表树:它可以分别对头像、上下文字、及增加很多小图标等。我原来用Virtual Treeview 基本可以实现。但是这个很牛的树很不稳定。当树上面的结点有几千个时,经常容易现出罢工(不显示)的情况。 
对QQ界面研究了许久都没想明白它是如何做出来的。所以请兄弟们多多指教!

54 个解决方案

#1


能实现就很好了,你居然加了几千个节点,不知道你是干什么用的,汗

#2


考虑以下组价
dxNavBar
TMS
Raize

#3


我一直用ListView

#4


自己画。
想办法少显示一些东西,显示不改变就不刷新,快速改变时减少刷新次数。

#5


几千个节点的tree不要一次性画。
第一次只画第一级,以后点击哪一级,再显示下一级
这样速度,稳定性会好很多

#6


引用 5 楼 SuperTitan001 的回复:
几千个节点的tree不要一次性画。 
第一次只画第一级,以后点击哪一级,再显示下一级 
这样速度,稳定性会好很多


UP

#7


几千个结点,??怎么会那么多

#8


几千个节点?
没试过

#9


您做这么多干啥子呢?

#10


其实就是即时通讯系统,一个集团单位有四五千人。大的超过一万人。所以这人联系人组织机构树变得贼长,贼大!用Listview很不实现吧!我原来也想过要用这个控件,可好多地方没想到解决办法。比如要单独的点击头像时,还有后面加视频图标不好加。

#11


估计问题在实时刷新出现的。
具体还要看你的代码是如何写的,Virtual Treeview相对来说还是比较成熟的。

#12


数据太多造成刷新速度过慢了吧,还没来得及刷新呢

#13


學習

#14


就用一个panel,自已来画

#15


尽量减少一次刷新所有数据。

#16


腾讯公司的这个肯定是自己开发的控件,按照你说的有几千人再用的话,最好是自己开发一个类似的控件,以后用维护会非常方便的。

#17


几千个就够了吧,一般人也就几百个好友吧。

#18


引用 17 楼 yct0605 的回复:
几千个就够了吧,一般人也就几百个好友吧。

显示出所有人来

#19


引用 10 楼 HeroicDragon 的回复:
其实就是即时通讯系统,一个集团单位有四五千人。大的超过一万人。所以这人联系人组织机构树变得贼长,贼大!用Listview很不实现吧!我原来也想过要用这个控件,可好多地方没想到解决办法。比如要单独的点击头像时,还有后面加视频图标不好加。

我都加到了右键菜单里

#20


主要是要直观呀,在一个单位内所有人都得显示,如果装了摄像头的,就在头像后面显示一个小图标。 
如果要在右键菜单里才显示的话,就不直观了。

#21


你真的需要,我可以帮你做一个控件,不是开玩笑.

#22


几千个一次过节点画出来也很快的,如果树的层数少的话,估计1秒也不用。画之前有没有先禁用重绘。

#23


引用 20 楼 HeroicDragon 的回复:
主要是要直观呀,在一个单位内所有人都得显示,如果装了摄像头的,就在头像后面显示一个小图标。 
如果要在右键菜单里才显示的话,就不直观了。


比如打仗,你纵有百万雄兵,也不可能一拥而上。你的这个界面也是如此,几千号人,不可能一下子全部显示,否则你的程序界面上就摆不下其他任何控件了。建议采用分屏控制,加图标什么的操作,在节点显示出来以后再加上去,这样可以节省内存。如果你的程序以后将被几千号以上数量的人使用,建议还是自己手动画吧,用三方控件都会有不稳定的因素存在

#24


你不会按职能部门划分成几个面板吗

#25


按照部门分组 且在初次显示全部收缩,
客户点击那个组再打开

#26


引用 2 楼 bdmh 的回复:
考虑以下组价 
dxNavBar 
TMS 
Raize

.......

#27


引用 22 楼 Harryfin 的回复:
几千个一次过节点画出来也很快的,如果树的层数少的话,估计1秒也不用。画之前有没有先禁用重绘。


那三个控件我都有。可他们的树控件也还是比不上Virtual Treeview 。

再说明一点, 那一颗组织机构树是按部门来显示的,而且各部门、各人员都是按照职位的大小从上到下排序。
排列的顺序都是按用户的不同状态进行分组归类排序。做*项目就是这样,处处都得体现权势!

Virtual Treeview 有个弱点就是会不停的重绘。 所以22 楼 Harryfin  讲的有些道理。至于先显示部门再显示人员,这种整是不行的。因为我们还必须在每一个部门下的在线,离线,离开人员数量等。因为这颗树是非常复杂的。需要找一颗稳定且强大的。

当然Virtual Treeview 确实可以实现我所需要的全部功能,因为我已经实现出来。如果再找不到更好的树,我也只有在这颗树上进行改造了。

再次感谢这么我兄弟捧场!

#28


1.用自己开发的控件
2.用dxNavBar
3.应该是获取数据和自动刷新的问题
4.批量刷新和部分刷新
5.

#29


我宁愿自己开发一套组件。。。功能符合自己的要求就好,不求强大有BUG也无所谓,因为自己知道怎么绕过去

#30


有人试过QQ几个节点的情况吗?

#31


顶下 听大牛们说

#32


这是我做过的局域网聊天
类QQ界面设计求教!只要参与就给分。分不够再加!

你说的问题 我觉得可以从C/S的传送信息内容来解决。用一个mxOutlookBarPro就OK了。

而且,我存在一个疑问:上万人用的系统,你用什么开发的?Indy吗,估计够呛,会丢包的啊。

还有,摄像头的问题,可以在图片上做文章。分为带摄像头和不带摄像头两种图片存储。 显示的时候进行判别。

呵呵 都是我的愚见  希望共同进步

#33


TMS 的 TAdvListView

#34


下载DEV express 或 皮肤控件

#35


回答32楼兄弟的问题,没有用INDY组件,通讯组件是自己写的,基于IOCP技术。 INDY 组件其实只适用于几十人的应用。用来客户端还行,简单易用。

没有用过TMS 的 TAdvListView ,先体验一下。

#36


晕了,现在的贴子杂最大分只能是100分了。谁能告诉我如何为帖子分?

#37


用按钮和notebook组件自己搞

#38


跟贴学习 + 顶贴

#39


study

#40


我也测试过virtual treeview,2000个瞬间就OK了
应该不至于吧?难道以前的代码没有好好作测试?

#41


呵呵~~俺是用PANEL和图片自己做的界面,感觉也挺好。原来用过一个三方组件,感觉不太爽,有时候会出问题。
不过俺没你那么多,几千个好友~~~

#42


QQ不是最多500个好友吗

#43


这个东西有点难度哦,帮顶

#44


是的,因为这是为企业做的,所以组织机构比较庞大!担心第三方控件不稳定,想自己整一个,但又没有思路。

#45


引用 21 楼 minizhuxianchun 的回复:
你真的需要,我可以帮你做一个控件,不是开玩笑.

强!

#46


帮顶

#47


帮顶

#48


帮顶

#49


delphi 做QQ界面有控件

#50


什么控件呀?快教教我。谢谢!

#1


能实现就很好了,你居然加了几千个节点,不知道你是干什么用的,汗

#2


考虑以下组价
dxNavBar
TMS
Raize

#3


我一直用ListView

#4


自己画。
想办法少显示一些东西,显示不改变就不刷新,快速改变时减少刷新次数。

#5


几千个节点的tree不要一次性画。
第一次只画第一级,以后点击哪一级,再显示下一级
这样速度,稳定性会好很多

#6


引用 5 楼 SuperTitan001 的回复:
几千个节点的tree不要一次性画。 
第一次只画第一级,以后点击哪一级,再显示下一级 
这样速度,稳定性会好很多


UP

#7


几千个结点,??怎么会那么多

#8


几千个节点?
没试过

#9


您做这么多干啥子呢?

#10


其实就是即时通讯系统,一个集团单位有四五千人。大的超过一万人。所以这人联系人组织机构树变得贼长,贼大!用Listview很不实现吧!我原来也想过要用这个控件,可好多地方没想到解决办法。比如要单独的点击头像时,还有后面加视频图标不好加。

#11


估计问题在实时刷新出现的。
具体还要看你的代码是如何写的,Virtual Treeview相对来说还是比较成熟的。

#12


数据太多造成刷新速度过慢了吧,还没来得及刷新呢

#13


學習

#14


就用一个panel,自已来画

#15


尽量减少一次刷新所有数据。

#16


腾讯公司的这个肯定是自己开发的控件,按照你说的有几千人再用的话,最好是自己开发一个类似的控件,以后用维护会非常方便的。

#17


几千个就够了吧,一般人也就几百个好友吧。

#18


引用 17 楼 yct0605 的回复:
几千个就够了吧,一般人也就几百个好友吧。

显示出所有人来

#19


引用 10 楼 HeroicDragon 的回复:
其实就是即时通讯系统,一个集团单位有四五千人。大的超过一万人。所以这人联系人组织机构树变得贼长,贼大!用Listview很不实现吧!我原来也想过要用这个控件,可好多地方没想到解决办法。比如要单独的点击头像时,还有后面加视频图标不好加。

我都加到了右键菜单里

#20


主要是要直观呀,在一个单位内所有人都得显示,如果装了摄像头的,就在头像后面显示一个小图标。 
如果要在右键菜单里才显示的话,就不直观了。

#21


你真的需要,我可以帮你做一个控件,不是开玩笑.

#22


几千个一次过节点画出来也很快的,如果树的层数少的话,估计1秒也不用。画之前有没有先禁用重绘。

#23


引用 20 楼 HeroicDragon 的回复:
主要是要直观呀,在一个单位内所有人都得显示,如果装了摄像头的,就在头像后面显示一个小图标。 
如果要在右键菜单里才显示的话,就不直观了。


比如打仗,你纵有百万雄兵,也不可能一拥而上。你的这个界面也是如此,几千号人,不可能一下子全部显示,否则你的程序界面上就摆不下其他任何控件了。建议采用分屏控制,加图标什么的操作,在节点显示出来以后再加上去,这样可以节省内存。如果你的程序以后将被几千号以上数量的人使用,建议还是自己手动画吧,用三方控件都会有不稳定的因素存在

#24


你不会按职能部门划分成几个面板吗

#25


按照部门分组 且在初次显示全部收缩,
客户点击那个组再打开

#26


引用 2 楼 bdmh 的回复:
考虑以下组价 
dxNavBar 
TMS 
Raize

.......

#27


引用 22 楼 Harryfin 的回复:
几千个一次过节点画出来也很快的,如果树的层数少的话,估计1秒也不用。画之前有没有先禁用重绘。


那三个控件我都有。可他们的树控件也还是比不上Virtual Treeview 。

再说明一点, 那一颗组织机构树是按部门来显示的,而且各部门、各人员都是按照职位的大小从上到下排序。
排列的顺序都是按用户的不同状态进行分组归类排序。做*项目就是这样,处处都得体现权势!

Virtual Treeview 有个弱点就是会不停的重绘。 所以22 楼 Harryfin  讲的有些道理。至于先显示部门再显示人员,这种整是不行的。因为我们还必须在每一个部门下的在线,离线,离开人员数量等。因为这颗树是非常复杂的。需要找一颗稳定且强大的。

当然Virtual Treeview 确实可以实现我所需要的全部功能,因为我已经实现出来。如果再找不到更好的树,我也只有在这颗树上进行改造了。

再次感谢这么我兄弟捧场!

#28


1.用自己开发的控件
2.用dxNavBar
3.应该是获取数据和自动刷新的问题
4.批量刷新和部分刷新
5.

#29


我宁愿自己开发一套组件。。。功能符合自己的要求就好,不求强大有BUG也无所谓,因为自己知道怎么绕过去

#30


有人试过QQ几个节点的情况吗?

#31


顶下 听大牛们说

#32


这是我做过的局域网聊天
类QQ界面设计求教!只要参与就给分。分不够再加!

你说的问题 我觉得可以从C/S的传送信息内容来解决。用一个mxOutlookBarPro就OK了。

而且,我存在一个疑问:上万人用的系统,你用什么开发的?Indy吗,估计够呛,会丢包的啊。

还有,摄像头的问题,可以在图片上做文章。分为带摄像头和不带摄像头两种图片存储。 显示的时候进行判别。

呵呵 都是我的愚见  希望共同进步

#33


TMS 的 TAdvListView

#34


下载DEV express 或 皮肤控件

#35


回答32楼兄弟的问题,没有用INDY组件,通讯组件是自己写的,基于IOCP技术。 INDY 组件其实只适用于几十人的应用。用来客户端还行,简单易用。

没有用过TMS 的 TAdvListView ,先体验一下。

#36


晕了,现在的贴子杂最大分只能是100分了。谁能告诉我如何为帖子分?

#37


用按钮和notebook组件自己搞

#38


跟贴学习 + 顶贴

#39


study

#40


我也测试过virtual treeview,2000个瞬间就OK了
应该不至于吧?难道以前的代码没有好好作测试?

#41


呵呵~~俺是用PANEL和图片自己做的界面,感觉也挺好。原来用过一个三方组件,感觉不太爽,有时候会出问题。
不过俺没你那么多,几千个好友~~~

#42


QQ不是最多500个好友吗

#43


这个东西有点难度哦,帮顶

#44


是的,因为这是为企业做的,所以组织机构比较庞大!担心第三方控件不稳定,想自己整一个,但又没有思路。

#45


引用 21 楼 minizhuxianchun 的回复:
你真的需要,我可以帮你做一个控件,不是开玩笑.

强!

#46


帮顶

#47


帮顶

#48


帮顶

#49


delphi 做QQ界面有控件

#50


什么控件呀?快教教我。谢谢!