文件传输进度显示方法及系统技术方案

技术编号:4097798 阅读:234 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种文件传输进度显示方法,包括:当传输文件时,生成文件传输任务ID;创建文件传输进度显示对象,以所述ID标识所述进度显示对象;在所述进度显示对象中绘制待传输文件的进度条;将所述绘制进度条后的进度显示对象插入到窗口区域显示。还公开了一种文件传输进度显示系统,包括:ID生成模块、进度显示对象创建模块、进度条绘制模块、进度条显示模块和传输进度计算模块。本发明专利技术的进度条的显示不额外占用窗口区域,极大提高了用户界面的交互性和用户体验。

【技术实现步骤摘要】

本专利技术涉及网络通信中文件传输
,特别涉及一种文件传输进度显示方法。
技术介绍
计算机网络技术是通信技术与计算机技术相结合的产物。近年来,计算机网络通 信在人们的日常生活中有着越来越重要的地位,用户可以在计算机网络上进行文字、声音 和视频的交流,共享文件、图片和视频信息等,从而方便用户的生活、工作和学习。在使用计 算机网络进行沟通交流的过程中,互相之间的文件传输是一种很常见很基本的活动,也是 非常重要的一种共享信息的方式。文件传输比电子邮件更直观、更快捷、更实时,传输的文 件大小也不像电子邮件附件那样有大小的限制。可见,文件传输在计算机网络通信中是非 常基本也是非常重要的功能。而在文件传输的过程中,如何很好的展示文件当前的传输进 度,带给用户更好的体验是值得研究的问题。目前展示文件的传输进度有两种主要实现方案第一种实现方案是在窗口容器控件上放置Windows系统的标准进度条控件,根据 文件传输进度实时显示传输进度百分比,虽然实现简单,但其外观简陋,用户体验差。第二种实现方案使用无窗口(即windowless)技术,但也是在窗口容器控件上放 置无窗口进度条控件(即所谓的windowless control)。无窗口进度条控件使用自绘技术, 所以用户体验好,但因为不是Windows系统的标准控件,所以需要自己开发。此外,这两种方案还有一个共有的缺点,就是因为展示文件传输进度的进度条控 件都要放置在一个独立的窗口容器控件上,所以都会占用会话窗口区域的一部分,导致界 面元素拥挤,如果用户界面设计得不好,会造成很差的用户体验。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是在文件传输过程中如何不占用窗口区域布局空间的 情况下在窗口区域上显示传输进度的进度条。( 二 )技术方案为达到上述目的,本专利技术提供了一种文件传输进度显示方法,包括以下步骤S1 当传输文件时,生成文件传输任务ID ;S2 创建文件传输进度显示对象,以所述ID标识所述进度显示对象;S3 在所述进度显示对象中绘制待传输文件的进度条;S4 将所述绘制进度条后的进度显示对象插入到窗口区域显示。其中,所述步骤S3具体为将文件传输任务中的文件信息和进度条绘制参数传递到所述进度显示对象,进度 显示对象根据所述文件信息和进度条绘制参数绘制文件传输进度条,所述文件信息包括文件名称、文件大小、文件图标以及文件的创建时间,所述进度条绘制参数包括Tip提示 信息、背景颜色、前景文本颜色、进度条上的文本信息、绘制文本所需的字体名称、字体尺寸 和进度条的宽度及高度。其中,所述绘制进度条时采用无窗口的方式绘制。其中,所述步骤S4之后还包括步骤在文件传输过程中根据文件大小和已传输的文件大小计算传输进度数据,并将该 传输进度数据传递给具有与文件传输任务相同ID的进度显示对象,以更新进度条的显示。其中,所述进度显示对象为OLE控件。其中,所述窗口区域为Windows的RichEdit创建的会话窗口消息区域。本专利技术还提供了一种文件传输进度显示系统,包括ID生成模块,用于当传输文件时,生成文件传输任务ID ;进度显示对象创建模块,用于创建文件传输进度显示对象,以所述ID标识所述进 度显示对象;进度条绘制模块,用于在所述进度显示对象中绘制待传输文件的进度条;进度条显示模块,用于将所述绘制进度条后的进度显示对象插入到窗口区域显不。其中,还包括传输进度计算模块,用于在文件传输过程中根据文件大小和已传输的文件大小计 算传输进度数据,并将该传输进度数据传递给具有与文件传输任务相同ID的进度显示对 象,以更新进度条的显示。(三)有益效果本专利技术采用OLE控件作为进度条的显示对象,并采用无窗口绘制技术,使得进度 条的显示不额外占用窗口区域(不将进度条布局到窗口容器控件上),极大提高了用户界 面的交互性和用户体验。附图说明图1是本专利技术实施例的一种文件传输进度显示方法流程图;图2是本专利技术实施例的一种文件传输进度显示系统结构示意图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施 例用于说明本专利技术,但不用来限制本专利技术的范围。本专利技术使用另外一种全新的方式,即利用组件对象模型(COM,Component Object Model)技术和对象链接与嵌入(0LE,0bjectLinking and Embedding)技术,在会话窗口的 消息区中展示文件传输进度,既能使用无窗口自绘技术,又不额外占用窗口区域。如图1所示,为本专利技术实施例的一种文件传输进度显示方法流程图。步骤S101,当传输文件时,生成文件传输任务ID,该步骤为每一个文件传输任务 分配一个唯一的ID标识,以区别不同的文件的传输。步骤S102,创建文件传输进度显示对象,该进度显示对象优选为OLE控件,以上述文件传输任务的ID标识该进度显示对象,即每一个文件传输任务唯一对应一个进度显示 对象。步骤S103,在进度显示对象中绘制待传输文件的进度条,即本实施例中以OLE控 件为画布绘制进度条。具体步骤为将文件传输任务中的文件信息和进度条绘制参数传 递到进度显示对象,进度显示对象根据所述文件信息和进度条绘制参数绘制文件传输进度 条,绘制时,按一个标准进度条的外观、再附加上对应的文件信息进行绘制;也可以在常用 绘制手段上进行一些变化,比如进度的显示可以配上一些动画效果、使用更漂亮的字体、文 字颜色等。其中,文件信息包括文件名称、文件大小、文件图标以及文件的创建时间,进度 条绘制参数包括Tip提示信息、背景颜色、前景文本颜色、进度条上的文本信息、绘制文本 所需的字体名称、字体尺寸和进度条的宽度及高度。在具体应用中,根据实际情况可以进行 灵活调整,可以定义更多的参数以满足实际绘制需要,并不局限于上述参数。并且在绘制进 度条时采用无窗口(windowless)的绘制方式来绘制无窗口进度条控件。步骤S104,将绘制进度条后的进度显示对象(OLE控件)插入到窗口区域显示,窗 口区域优选为Windows的RichEdit创建的会话窗口消息区域,通过RichEdit提供的标准 接口 STDMETHOD(InsertObject) (THIS_RE0BJECT FAR*lpreobject)PURE 可以插入符合 OLE 标准的OLE控件到会话窗口消息区域以显示进度条。此时完成了进度条的第一次显示,进 度条的进度为0。步骤S105,在文件传输过程中根据文件大小和已传输的文件大小计算传输进度数 据,在文件传输过程中实时记录并更新已传输文件的大小,传输进度数据=已传输文件大 小/文件大小。并将该传输进度数据传递给具有与文件传输任务相同ID的进度显示对象 (OLE控件),更新进度条的显示,以显示当前文件传输进度。直到该文件传输完毕。在有多 个文件同时传输时,可将不同的传输进度数据根据与该文件传输任务对应的ID找到各自 的进度显示对象,实现多个文件同时传输时的进度条显示更新。本专利技术还提供了一种文件传输进度显示系统,如图2所示,包括ID生成模块,用于当传输文件时,生成文件传输任务ID,具体地,将该ID及待传输 文件的信息(文件名称、文件大小、文件图标以及文件的创建时间)传递给进度显示对象创 建模块。进度显示对象创建模块,用本文档来自技高网...

【技术保护点】
一种文件传输进度显示方法,其特征在于,包括以下步骤:S1:当传输文件时,生成文件传输任务ID;S2:创建文件传输进度显示对象,以所述ID标识所述进度显示对象;S3:在所述进度显示对象中绘制待传输文件的进度条;S4:将所述绘制进度条后的进度显示对象插入到窗口区域显示。

【技术特征摘要】
一种文件传输进度显示方法,其特征在于,包括以下步骤S1当传输文件时,生成文件传输任务ID;S2创建文件传输进度显示对象,以所述ID标识所述进度显示对象;S3在所述进度显示对象中绘制待传输文件的进度条;S4将所述绘制进度条后的进度显示对象插入到窗口区域显示。2.如权利要求1所述的文件传输进度显示方法,其特征在于,所述步骤S3具体为将文件传输任务中的文件信息和进度条绘制参数传递到所述进度显示对象,进度显示 对象根据所述文件信息和进度条绘制参数绘制文件传输进度条,所述文件信息包括文件 名称、文件大小、文件图标以及文件的创建时间,所述进度条绘制参数包括Tip提示信息、 背景颜色、前景文本颜色、进度条上的文本信息、绘制文本所需的字体名称、字体尺寸和进 度条的宽度及高度。3.如权利要求2所述的文件传输进度显示方法,其特征在于,所述绘制进度条时采用 无窗口的方式绘制。4.如权利要求1所述的文件传输进度显示方法,其特征在于,所述步骤S4之后还包括 步骤在文件传输过程中根据文件大小和已传输的文件大小计算传...

【专利技术属性】
技术研发人员:张明贺
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1