一种输入框动态透明显示特效实现方法

文档序号:6443493阅读:156来源:国知局
专利名称:一种输入框动态透明显示特效实现方法
技术领域
本发明涉及多媒体信息技术以及计算机图像处理技术领域,具体涉及一种输入框动态透明显示特效实现方法。
背景技术
随着计算机硬件性能以及计算机编程技术的不断发展,也带动了各种计算机应用软件UI (User hterface,用户界面)显示技术的革新,特别在用户交互UI显示方面,各种赏心悦目的UI显示特效层出不穷,使用户在软件使用体验方面得到了大幅改善。根据市场分析调查表明,对于计算机应用软件产品而言,制作友好、新颖、多样化的界面显示效果,不经能够体现应用软件产品品质,还有助于提升用户的操作体验感和产品忠诚度。可想而知, 即便在未来,计算机应用软件的UI显示技术依然是计算机应用软件开发工作中的重要任务之一。输入框是计算机应用软件中最常用到的窗体控件之一,通常可以通过调用计算机系统的API函数实现输入框控件的创建和关闭,主要用于实现信息记录、与应用软件进行信息交互等功能。API (Application Programming hterface,应用程序编程接口)函数是计算机系统中预先定义的用以控制系统中运行的各个部件的外观和行为的一套系统函数, 运行在操作系统中的应用程序都可以调用计算机系统中的API函数。输入框作为计算机系统以及应用软件的最常用到的窗体控件之一,普遍的计算机系统都提供有创建和关闭窗体控件的API函数,供操作系统自身或应用软件调用实现输入框控件的创建和关闭;不仅如此,在苹果公司出品的Mac OS操作系统、微软公司出品的Win7操作系统等较新的计算机系统中,还提供有窗体控件透明显示API函数,操作系统自身或应用程序创建输入框控件后, 可以直接调用窗体控件透明显示API函数改变输入框控件的透明显示状态,进而非常容易的实现输入框的动态透明显示特效,借以丰富应用软件的UI视觉显示效果,提升用户的操作体验感。然而,在Windows XP等较早的计算机系统中,系统自身的UI显示效果较为单一, 更没有提供窗体控件透明显示API函数等丰富显示效果的API函数,所以应用软件无法再直接借助系统API函数实现输入框动态透明显示特效;可目前Windows XP等较早的计算机系统依然有非常广泛的应用,因此,在未提供窗体控件透明显示API函数的计算机系统中实现输入框动态透明显示特效,依然是进一步扩大应用软件产品受众用户群、丰富应用软件的UI视觉显示效果、提升应用软件产品市场竞争力的重要技术手段之一;相应地,如何在不借助计算机系统窗体控件透明显示API函数的情况下实现输入框动态透明显示特效, 则成为应用软件产品研发中的一项重要课题。可是,由于较早的计算机系统自身未提供窗体控件透明显示API函数,如果基于计算机系统层面直接编制具有动态透明显示特效的输入框控件的系统代码,这将是一个非常复杂的研发工程,研发技术难度大、研发周期长、研发投入成本高等因素,使得该研发方案的实施非常困难,成为系统中实现输入框动态透明显示特效的技术瓶颈。

发明内容
针对现有技术中存在的上述不足,本发明的目的在于提供一种输入框动态透明显示特效实现方法,使得在不借助计算机系统窗体控件透明显示API函数的情况下,也能较容易的实现输入框的动态透明显示特效。为实现上述目的,本发明采用了如下技术手段
一种输入框动态透明显示特效实现方法,其特征在于,输入框被激活启动后,在输入框获得焦点的情况下,创建和运行输入框控件;在输入框失去焦点的情况下,获取输入框控件中的录入字符后关闭输入框控件,绘制含有所述录入字符的输入框图片并显示为输入框, 且通过动态改变所述输入框图片的透明度值,实现输入框的动态透明显示特效。上述的输入框动态透明显示特效实现方法中,具体而言,包括以下步骤
1)输入框被激活启动,初始化透明度参数TR的值,并清空录入字符缓存区;然后执行步骤2);
2)判断当前时刻输入框是否已获得焦点;在输入框获得焦点的情况下,执行步骤3);在输入框失去焦点的情况下,执行步骤4);
3)创建输入框控件,将录入字符缓存区中存储的内容填入输入框控件的字符录入区域后,维持输入框控件运行;直至输入框失去焦点时,再复制输入框控件中的录入字符并覆盖存储至录入字符缓存区,然后关闭输入框控件,执行步骤4);
4)判断当前时刻鼠标是否位于输入框的显示区域内;若是,执行步骤5);否则执行步骤
6);
5)更新透明度参数TR的值TR=TR-Δ TRdn ;更新后,若TR ^ 0,直接执行步骤7);若 TR<0,则令TR=0,然后再执行步骤7);其中,Δ TRdn为透明度降值参数,且Δ TRdn>0 ;
6)更新透明度参数TR的值TR=TR+ATRup;更新后,若TR < TRmax,直接执行步骤 7);若TRXTRmax,则令TR=TRmax,然后再执行步骤7);其中,Δ TRup为透明度增值参数,且 Δ TRup>0 ;TRmax为预设的透明度上限值;
7)获取当前录入字符缓存区内存储的录入字符,绘制含有所述录入字符的输入框图片,并按当前时刻透明度参数TR的值设置输入框图片的透明度值,将绘制的输入框图片作为输入框加以更新显示;经延时Δ t后,返回步骤2);
8)循环执行步骤2) 7),直至输入框被关闭时,关闭输入框控件并终止显示输入框图片。上述的输入框动态透明显示特效实现方法中,进一步,所述步骤5)中“更新透明度参数TR的值”之前还包括判断当前是否已绘制透明度值为0的输入框图片作为输入框加以显示;若是,则经延时Δ t后直接返回步骤2);否则继续执行该步骤的后续操作。上述的输入框动态透明显示特效实现方法中,进一步,所述步骤6)中“更新透明度参数TR的值”之前还包括判断当前是否已绘制透明度值为透明度上限值TRmax的输入框图片作为输入框加以显示;若是,则经延时Δ t后直接返回步骤2);否则继续执行该步骤的后续操作。上述的输入框动态透明显示特效实现方法中,进一步,所述步骤3)中“创建输入框控件”之前还包括判断当前是否已绘制透明度值为0的输入框图片作为输入框加以显示;若否,则执行步骤5);若是,则继续执行该步骤的后续操作。上述的输入框动态透明显示特效实现方法中,进一步,所述“绘制含有所述录入字符的输入框图片”的具体流程为
a)预先存储有输入框的字符录入区域背景图片模板和边框区域图片模板;
b)调用存储的字符录入区域背景图片模板绘制输入框的字符录入区域;
c)在绘制的输入框字符录入区域中绘制录入字符;
d)调用存储的边框区域图片模板绘制输入框的边框。上述的输入框动态透明显示特效实现方法中,作为一种可选择方案,所述步骤1) 中,初始化透明度参数TR的值为0。上述的输入框动态透明显示特效实现方法中,作为一种可选择方案,所述步骤1) 中,初始化透明度参数TR的值为透明度上限值TRmax。上述的输入框动态透明显示特效实现方法中,作为一种优选方案,所述透明度上限值TRmax的取值范围为50% 90%。上述的输入框动态透明显示特效实现方法中,作为一种优选方案,所述透明度降值参数Δ TRdn的取值范围为5% 20% ;所述透明度增值参数Δ TRup的取值范围为5% 20% ; 所述延时Δ t的取值范围为2(T200ms。相比于现有技术,本发明具有如下有益效果
1、本发明的输入框动态透明显示特效实现方法,在不借助计算机系统窗体控件透明显示API函数的情况下,只需要借助常规的对窗体创建、删除应用程序编程接口函数的调用以及图片的绘制和处理,便能够实现输入框动态透明显示特效,不涉及对计算机系统层面的源代码操作研发,大大降低了研发输入框动态透明显示特效的研发技术难度,并且针对不同的计算机系统具有良好的可移植性,更有助于缩短研发周期和降低研发投入成本。2、本发明的输入框动态透明显示特效实现方法,可以根据实际的应用场合自由设置生动、富有交互性的动态透明显示特效,还可以通过改进进一步提高其鲁棒性能、完善特效显示效果。3、本发明的输入框动态透明显示特效实现方法,能够应用于未提供窗体控件透明显示API函数的计算机系统下运行的应用软件实现输入框的动态透明显示特效,丰富应用软件的UI视觉显示效果,增强应用软件用户的使用体验感,提升应用软件产品市场竞争力和受众用户群。


图1为本发明输入框动态透明显示特效实现方法实施例一的流程图; 图2为本发明输入框动态透明显示特效实现方法实施例二的流程图3为本发明输入框动态透明显示特效实现方法实施例三的流程图。
具体实施例方式在不借助或无法借助计算机系统窗体控件透明显示API函数的情况下,如果基于计算机系统层面直接编制具有动态透明显示特效的输入框控件的系统代码,需要编程技术人员具备相当高的计算机系统掌控应用能力以及相当丰富的应用软件编程经验,对编程技CN 102541554 A术人员的要求很高,普通的编程技术人员都难以胜任,其技术难度也比较大,相应地开发周期也比较长;同时,如果基于计算机系统层面直接编制具有动态透明显示特效的输入框控件的系统代码,对于不同的计算机操作系统而言该输入框控件的源代码必然存在较大差异,因此针对不同的计算机操作系统就必须单独编制具有动态透明显示特效的输入框控件的系统代码,这又将大幅提高研发投入成本。为此,本发明提出了一种输入框动态透明显示特效实现方法,与直接编制具有动态透明显示特效的输入框控件系统代码的研发思路不同,本发明方法在输入框被激活启动后,在输入框获得焦点的情况下,创建和运行输入框控件;在输入框失去焦点的情况下,获取输入框控件中的录入字符后关闭输入框控件,绘制含有所述录入字符的输入框图片并显示为输入框,且通过动态改变所述输入框图片的透明度值,实现输入框的动态透明显示特效。采用本发明的输入框动态透明显示特效实现方法,在不借助计算机系统窗体控件透明显示API函数的情况下,只需要借助常规的输入框控件创建、关闭手段以及图片绘制、处理手段即可实现输入框的动态透明显示特效,而无需基于计算机系统层面编制具有动态透明显示特效的输入框控件的系统代码,大大降低了研发技术难度,有助于缩短研发周期,降低研发投入成本。下面通过实施例对本发明的效果做进一步说明。实施例一
本实施例以大家熟悉的Windows XP操作系统为例,利用本发明的输入框动态透明显示特效实现方法在Windows XP操作系统中实现输入框的动态透明显示特效,并借助其实现过程,体现本发明方法的具体应用以及有益效果。Windows XP操作系统提供有创建窗体控件API函数“CreateWindow”和关闭窗体控件API函数“DestroyWindow”,并提供有GID+ 图形设备接口函数供应用程序调用实现图形显示。利用本发明的输入框动态透明显示特效实现方法,结合Windows XP操作系统提供的这些应用程序编程接口函数,即可在Windows XP操作系统中简便地实现输入框的动态透明显示特效,即输入框被激活启动后,在输入框获得焦点的情况下,通过调用API函数“CreateWindow”创建输入框控件,并维持输入框控件运行;在输入框失去焦点的情况下,获取输入框控件中的录入字符后调用API函数 “DestroyWindow”关闭输入框控件,绘制含有所述录入字符的输入框图片,并调用GID+图形设备接口函数将所述输入框图片显示为输入框,且通过动态改变所述输入框图片的透明度值,实现输入框的动态透明显示特效。本发明所述的对话框获得焦点,是指对话框已被选中作为计算机系统最前端的执行目标;所述的对话框失去焦点,是指对话框已不作为计算机系统最前端的执行目标。之所以根据对话框是否获得焦点来区分运行输入框的动态透明显示特效,是因为在输入框获得焦点的情况下,意味着用户需要借助对话框执行字符录入操作,因此执行字符录入操作只能够通过运行输入框控件实现,并且在用户录入字符过程中也不需要将对话框显示为透明状态;而在输入框失去焦点的情况下,表明输入框不会执行任何操作,因此利用一个输入框图片显示为输入框即可,这样就可以通过动态改变输入框图片的透明度值,在视觉上让实现输入框动态透明显示特效。输入框动态透明显示特效的特效呈现方式可以是多种形式的,例如,在输入框失去焦点的情况下,将输入框图片的透明度值设置为50%,使得输入框持续显示为半透明状态;或者,在输入框失去焦点的情况下,以一固定频率将输入框图片的透明度在0 (不透明状态)和100% (完全透明、不可见状态)之间切换,使得输入框显示为固定频率的闪烁状态;等等。但为了提升输入框动态透明显示特效的生动效果,增加用户使用的交互体验感,本实施例提供了输入框动态透明显示特效实现方法的一种较优的执行方案,让用户能够通过操作鼠标控制输入框渐亮(指输入框的透明程度逐渐降低)、渐暗(指输入框的透明程度逐渐增高)的动态透明显示特效;该较优执行方案的流程如图1所示,其具体的实现步骤如下
Al)输入框被激活启动,初始化透明度参数TR的值,并清空录入字符缓存区;然后执行步骤A2)。该步骤执行输入框被激活启动后的初始化操作,其中的透明度参数TR用于动态设置输入框图片的透明度值,字符缓存区用于存储备用的录入字符。A2)判断当前时刻输入框是否已获得焦点;在输入框获得焦点的情况下,执行步骤 A3);在输入框失去焦点的情况下,执行步骤A4)。该步骤依然通过判断输入框是否已获得焦点,而区分输入框的不同运行方式,这样处理的原因在前文已经加以说明。A3)创建输入框控件,将录入字符缓存区中存储的内容填入输入框控件的字符录入区域后,维持输入框控件运行;直至输入框失去焦点时,再复制输入框控件中的录入字符并覆盖存储至录入字符缓存区,然后关闭输入框控件,执行步骤A4);
该步骤是在输入框获得焦点的情况下才得以运行的步骤,通过创建和运行输入框控件保证输入框作为系统最前端的执行目标时能够执行相应的操作,并在创建输入框控件时将录入字符缓存区中存储的内容填入输入框控件的字符录入区域,保证每次输入框获得焦点而重新创建的输入框控件中都录入有其前次关闭前所录入的字符;当然,若在输入框被激活启动后首次创建输入框控件,由于录入字符缓存区已被清空,因此的输入框控件字符录入区域依然会是空白的。输入框控件维持运行至输入框失去焦点时,则复制输入框控件中的录入字符并覆盖存储至录入字符缓存区,以备用,然后关闭输入框控件。A4)判断当前时刻鼠标是否位于输入框的显示区域内;若是,执行步骤A5);否则执行步骤A6)。该步骤是在输入框失去焦点的情况下才得以运行的步骤,通过判断当前时刻鼠标是否位于输入框的显示区域内而区别执行步骤A5)或步骤A6),以区别实现输入框渐亮、渐暗的动态透明显示特效。A5)更新透明度参数TR的值TR=TR- Δ TRdn ;更新后,若TR彡0,直接执行步骤 7);若TR<0,则令TR=0,然后再执行步骤A7);其中,Δ TRdn为透明度降值参数,且Δ TRdnX)。该步骤通过更新透明度参数TR的值,让透明度参数TR的值降低一个单位,直至降低至小于0后,维持透明度参数TR=O的状态;该降低一个单位的大小,可以通过预先设定透明度降值参数Δ TRdn的取值加以决定。Α6)更新透明度参数TR的值TR=TR+ Δ TRup ;更新后,若TR ^ TRmax,直接执行步骤7);若TRXTRmax,则令TR=TRmax,然后再执行步骤A7);其中,Δ TRup为透明度增值参数,且Δ TRup>0 ;TRmax为预设的透明度上限值。该步骤通过更新透明度参数TR的值,让透明度参数TR的值增高一个单位,直至增高至大于预设的透明度上限值TRmax后,维持透明度参数TR=TRmax的状态;该增高一个单位的大小,可以通过预先设定透明度增值参数Δ TRup的取值加以决定。Α7)获取当前录入字符缓存区内存储的录入字符,绘制含有所述录入字符的输入框图片,并按当前时刻透明度参数TR的值设置输入框图片的透明度值,将绘制的输入框图片作为输入框加以更新显示;经延时Δ t后,返回步骤2)。在前述步骤经过对透明度参数TR的增值或降值更新以后,该步骤根据当前时刻透明度参数TR的值设置输入框图片的透明度值,绘制输入框图片并更新显示为输入框,显示持续时间为At后,返回步骤2),再次执行输入框是否获得焦点的判断操作。该步骤中, 绘制的输入框图片的实现手段非常多,例如可以编程调用计算机系统绘图控件或者调用第三方制图软件进行绘制等;但考虑到减少绘图过程对计算机系统资源消耗、提高绘图执行效率的因素,较为优选的绘制输入框图片的方法是
a)预先存储有输入框的字符录入区域背景图片模板和边框区域图片模板;
b)调用存储的字符录入区域背景图片模板绘制输入框的字符录入区域;
c)在绘制的输入框字符录入区域中绘制录入字符;
d)调用存储的边框区域图片模板绘制输入框的边框。由此方法,通过直接调取预先存储的区域图片模板绘制输入框,有助于简化绘图操作的计算机执行过程,降低系统资源消耗,提高绘图执行效率,并且逐层绘制保证了后绘制的部分在图片中更上层显示。A8 )循环执行步骤A2 )、7 ),直至输入框被关闭时,关闭输入框控件并终止显示输入框图片。由上述输入框动态透明显示特效实现流程可以看到,在输入框被激活启动后,则循环执行步骤A2 )、7 ),直至输入框被关闭。在环执行步骤A2 )、7 )的整个过程中,都将循环检测判断输入框是否已获得焦点;在输入框获得焦点的情况下,创建和运行输入框控件, 直至输入框失去焦点时,复制输入框控件中的录入字符覆盖存储至录入字符缓存区后关闭输入框控件,然后在输入框失去焦点的情况下循环判断鼠标位置,并反复绘制含有录入字符缓存区所存储的录入字符的输入框图片更新显示为输入框,使得输入框的录入字符显示状态维持呈现为输入框控件前次关闭时刻的字符录入状态;在输入框失去焦点状态的循环过程中,在鼠标位于输入框的显示区域内的情况下,循环递减更新透明度参数TR的值,并按更新的透明度参数TR的值设置输入框图片的透明度值,反复绘制含有录入字符的输入框图片更新显示为输入框,使得输入框显示呈现为动态渐亮(透明程度逐渐降低)的动态透明显示特效,当输入框显示呈现为透明度为0的完全不透明状态后则不再变化;在输入框失去焦点、且鼠标没有位于输入框的显示区域内的情况下,循环递增更新透明度参数TR的值,并按更新的透明度参数TR的值设置输入框图片的透明度值,反复绘制含有录入字符的输入框图片更新显示为输入框,使得输入框显示呈现为动态渐暗(透明程度逐渐增高)的动态透明显示特效,当输入框显示呈现为透明度为预设的透明度上限状态后则不再变化;若输入框再次获得焦点,则将再次创建输入框控件,并将录入字符缓存区中存储的内容填入输入框控件的字符录入区域,使得重新创建的输入框控件的字符录入状态恢复为输入框控件前次关闭时刻的字符录入状态,同时也使得重新创建的输入框控件的字符录入状态与重新创建输入框控件前输入框图片的录入字符显示状态在视觉感观上保持了一致,然后再次维持输入框控件运行;如此循环往复。而在用户看起来,输入框所显示呈现的窗体外形和字符录入状态并不因输入框获得焦点与否而改变,因此感受不到真实显示的输入框控件与模拟显示的输入框图片之间的切换运行,却能够感受到在输入框失去焦点的情况下,鼠标移入输入框显示区域后输入框渐亮、鼠标移出输入框显示区域后输入框渐暗的动态透明显示特效,生动地、富有交互性地增加了用户的使用体验感。同时也可以看到,利用本发明方法在不借助计算机系统窗体控件透明显示API函数的情况下实现该生动、富有交互性的输入框动态透明显示特效,并不涉及对Windows XP 系统层面的源代码操作,而只需要借助常规的对窗体创建、删除应用程序编程接口函数的调用以及图片的绘制和处理,这就大大降低了研发输入框动态透明显示特效的研发技术难度,更有助于缩短研发周期;并且,由于不涉及对计算机系统层面的源代码操作,若需要将该输入框动态透明显示特效实现方法应用于其它的计算机操作系统,则只需要更改调用相应计算机系统的应用程序编程接口函数,而不同计算机系统的应用程序编程接口函数都是公开开放的,从而使得本发明的输入框动态透明显示特效实现方法对于不同的计算机系统具有良好的可移植性,能够大幅降低研发投入成本。在本发明的输入框动态透明显示特效实现方法中,其特效的具体显示效果是由多个控制参数具体设定的,可以根据具体应用场合所需要的特效具体显示效果来设置这些控制参数的值。例如,针对输入框被激活启动后便立即获得焦点的情况,由于输入框获得焦点状态创建运行的输入框控件是完全不透明的,因此在步骤1)中最好将透明度参数TR的值初始化为0,即完全不透明,使得输入框首次由获得焦点到失去焦点时所绘制的输入框图片从透明度值为0开始渐暗,实现视觉效果的平滑过渡;同理,针对输入框被激活启动后处于失去焦点状态的情况,则在步骤1)中最好将透明度参数TR的值初始化为透明度上限值 TRmax,使得输入框被激活启动后便能够通过鼠标操作实现从透明度上限状态渐亮显示的动态透明显示特效。至于透明度上限值TRmax的取值,则可以根据具体应用场合中所需要的最透明显示程度加以设定,只是,如果透明度上限值TRmax的值设置过低容易导致动态透明显示特效的视觉效果不明显,而若将透明度上限值TRmax设置为100%又将导致对话框在某些时刻完全不可见,不便于用户操作;因此综合考虑这些因素,透明度上限值TRmax的取值范围为509Γ90%较为适宜。再例如,输入框在失去焦点情况下,其渐亮、渐暗动态透明显示特效的平滑度和渐变速率,是由透明度降值参数Δ TRdn、透明度增值参数Δ TRup和延时Δ t的取值而确定;透明度降值参数Δ TRdn、透明度增值参数Δ TRup的取值越小,则渐亮、渐暗动态过程的平滑度越好,但相应的也导致动态透明显示特效的渐变速率越慢;而延时Δ t的取值越小,可以使得动态透明显示特效的渐变速率越快,但相应的也导致绘制输入框图片的频率越频繁,会增加对计算机系统资源的消耗;综合这多方面的因素考虑,作为优选的取值范围,透明度降值参数Δ TRdn的取值范围最好在59Γ20%之间,透明度增值参数 Δ TRup的取值范围最好在59Γ20%之间,而延时Δ t的取值范围最好在2(T200ms之间,当然,透明度降值参数Δ TRdn与透明度增值参数Δ TRup的取值可以相同。实施例二
实施例一的输入框动态透明显示特效实现方案中,在在输入框失去焦点的情况下会不断反复绘制输入框图片显示为输入框,如此频繁的、不间断的执行绘图操作,将持续占用计算机系统资源,影响计算机的其它任务处理执行效率。针对这一问题,在实施例一的基础上,本实施例针对输入框动态透明显示特效实现方法中的步骤5)和步骤6)进行了改进,提出一种改进方案的输入框动态透明显示特效实现方法,其流程如图2所示,具体的实现步骤如下Bi)输入框被激活启动,初始化透明度参数TR的值,并清空录入字符缓存区;然后执行步骤B2);
B2)判断当前时刻输入框是否已获得焦点;在输入框获得焦点的情况下,执行步骤B3); 在输入框失去焦点的情况下,执行步骤B4);
B3)创建输入框控件,将录入字符缓存区中存储的内容填入输入框控件的字符录入区域后,维持输入框控件运行;直至输入框失去焦点时,再复制输入框控件中的录入字符并覆盖存储至录入字符缓存区,然后关闭输入框控件,执行步骤B4);
B4)判断当前时刻鼠标是否位于输入框的显示区域内;若是,执行步骤B5);否则执行步骤 B6);
B5)判断当前是否已绘制透明度值为0的输入框图片作为输入框加以显示;若是,则经延时At后直接返回步骤B2);否则继续执行该步骤的后续操作,S卩,更新透明度参数TR的值TR=TR- Δ TRdn ;更新后,若TR ^ 0,直接执行步骤B7);若TR<0,则令TR=O,然后再执行步骤B7);其中,Δ TRdn为透明度降值参数,且Δ TRdn>0 ;
B6)判断当前是否已绘制透明度值为透明度上限值TRmax的输入框图片作为输入框加以显示;若是,则经延时At后直接返回步骤B2);否则继续执行该步骤的后续操作, 艮口,更新透明度参数TR的值TR=TR+ Δ TRup ;更新后,若TR ( TRmax,直接执行步骤Β7); 若TR>TRmaX,则令TR=TRmax,然后再执行步骤B7 );其中,Δ TRup为透明度增值参数,且 Δ TRup>0 ;TRmax为预设的透明度上限值;
B7)获取当前录入字符缓存区内存储的录入字符,绘制含有所述录入字符的输入框图片,并按当前时刻透明度参数TR的值设置输入框图片的透明度值,将绘制的输入框图片作为输入框加以更新显示;经延时Δ t后,返回步骤B2);
B8)循环执行步骤B2) 17),直至输入框被关闭时,关闭输入框控件并终止显示输入框图片。 参见上述输入框动态透明显示特效实现流程,其整体流程与实施例一的方案较为相似,即在输入框被激活启动后,则循环执行步骤Β2ΓΒ7),直至输入框被关闭。但与实施例一中方案的不同之处在于①在输入框失去焦点的情况下,每当执行至步骤5)准备降值更新透明度参数TR的值进而绘制新的输入框图片之前,先判断当前是否已绘制透明度值为0 的输入框图片作为输入框加以显示,若已绘制,则不再重新绘制新的输入框图片更新显示为输入框,而是维持已绘制的输入框图片显示状态,经延时Δ t后直接返回步骤2),重新循环判断输入框是否获得焦点以及判断鼠标是否位于输入框的显示区域内;若尚未绘制输入框图片,或者已绘制的输入框图片的透明度不为0,才继续降值更新透明度参数TR的值并绘制新的输入框图片更新显示为输入框。②在输入框失去焦点的情况下,每当执行至步骤 6)准备增值更新透明度参数TR的值进而绘制新的输入框图片之前,先判断当前是否已绘制透明度值为透明度上限值TRmax的输入框图片作为输入框加以显示,若已绘制,则不再重新绘制新的输入框图片更新显示为输入框,而是维持已绘制的输入框图片显示状态,经延时Δ t后直接返回步骤2),重新循环判断输入框是否获得焦点以及判断鼠标是否位于输入框的显示区域内;若尚未绘制输入框图片,或者已绘制的输入框图片的透明度不为透明度上限值TRmax,才继续增值更新透明度参数TR的值并绘制新的输入框图片更新显示为输入框。由此,使得输入框在动态透明显示特效运行过程中,输入框失去焦点时,在输入框渐亮显示为完全不透明状态后鼠标继续位于输入框的显示区域内的情况下,以及在输入框渐暗显示为预设的透明度上限状态后鼠标继续位于输入框的显示区域之外的情况下,均不再绘制新的输入框图片更新显示为输入框,这样就使得其仅在输入框显示透明度动态变化的过程中才执行绘图操作,而在其它的大部分时间里均不再绘制新的输入框图片,大大降低了系统执行绘图操作的频率,减少了本发明方法对计算机系统戏资源的占用和消耗,提高了本发明方法的鲁棒性能。实施例三
按照实施例一的实施方案,若通过鼠标直接点击输入框显示区域让输入框获得焦点, 由于输入框获得焦点前鼠标移入输入框显示区域时会触发其渐亮显示过程,因此依然能够看到输入框的动态透明显示特效;然而,若在鼠标位于输入框显示区域之外、输入框显示为透明度上限状态的情况下,通过鼠标点击系统任务栏中的输入框标签使输入框获得焦点, 或者利用Windows XP操作系统默认的焦点切换快捷操作方式操作键盘的“Alt+Tab”键将输入框切换为焦点,由于被触发创建的输入框控件将直接显示为完全不透明状态,因此会看到输入框由透明度上限值显示状态突然切换为完全不透明显示状态,而并没有呈现出平滑过渡的动态透明显示特效。为了克服这一动态透明显示特效的缺陷,在实施例一的基础上,本实施例提出了另一种改进方案的输入框动态透明显示特效实现方法,其流程如图3 所示,具体的实现步骤如下
Cl)输入框被激活启动,初始化透明度参数TR的值,并清空录入字符缓存区;然后执行步骤C2);
C2)判断当前时刻输入框是否已获得焦点;在输入框获得焦点的情况下,执行步骤C3); 在输入框失去焦点的情况下,执行步骤C4);
C3)判断当前是否已绘制透明度值为0的输入框图片作为输入框加以显示;若否,则执行步骤C5);若是,则继续执行该步骤的后续操作,即,创建输入框控件,将录入字符缓存区中存储的内容填入输入框控件的字符录入区域后,维持输入框控件运行;直至输入框失去焦点时,再复制输入框控件中的录入字符并覆盖存储至录入字符缓存区,然后关闭输入框控件,执行步骤C4);
C4)判断当前时刻鼠标是否位于输入框的显示区域内;若是,执行步骤C5);否则执行步骤 C6);
C5)更新透明度参数TR的值TR=TR- Δ TRdn ;更新后,若TR彡0,直接执行步骤C7); 若TR<0,则令TR=0,然后再执行步骤C7);其中,Δ TRdn为透明度降值参数,且Δ TRdn>0 ;
C6)更新透明度参数TR的值TR=TR+ Δ TRup ;更新后,若TR ^ TRmax,直接执行步骤 C7);若TRXTRmax,则令TR=TRmax,然后再执行步骤C7);其中,Δ TRup为透明度增值参数, 且Δ TRup>0 ;TRmax为预设的透明度上限值;
C7)获取当前录入字符缓存区内存储的录入字符,绘制含有所述录入字符的输入框图片,并按当前时刻透明度参数TR的值设置输入框图片的透明度值,将绘制的输入框图片作为输入框加以更新显示;经延时Δ t后,返回步骤C2);
C8)循环执行步骤C2)飞7),直至输入框被关闭时,关闭输入框控件并终止显示输入框图片。参见上述输入框动态透明显示特效实现流程,其整体流程与实施例一的方案较为相似,即在输入框被激活启动后,则循环执行步骤C2)飞7),直至输入框被关闭。但与实施例一中方案的不同之处在于,在输入框获得焦点的情况下,本实施例方案会首先判断是否已绘制透明度值为0的输入框图片作为输入框加以显示,若尚未绘制输入框图片,或者已绘制的输入框图片的透明度不为0,则将循环执行步骤5)和步骤7),通过反复降值更新透明度参数TR的值并反复绘制新的输入框图片显示为输入框,使得输入框呈现出渐亮的动态透明显示特效,直至输入框呈现为完全不透明状态时(即已绘制透明度值为0的输入框图片时),才会创建和运行输入框控件;由此,使得在任意的操作情况下创建输入框控件加以显示之前都会呈现出动态透明显示特效,克服了前述的特效显示缺陷。当然,本实施例的方案还能够结合实施例二的实施方式,借以提高本发明方法的鲁棒性能。综合上述三个实施例的举例说明,可以看到,本发明的输入框动态透明显示特效实现方法,在不借助计算机系统窗体控件透明显示API函数的情况下,只需要借助常规的对窗体创建、删除应用程序编程接口函数的调用以及图片的绘制和处理,便能够实现输入框动态透明显示特效,不涉及对计算机系统层面的源代码操作研发,大大降低了研发输入框动态透明显示特效的研发技术难度,并且针对不同的计算机系统具有良好的可移植性, 更有助于缩短研发周期和降低研发投入成本;同时,本发明的输入框动态透明显示特效实现方法可以根据实际的应用场合自由设置生动、富有交互性的动态透明显示特效,还可以通过改进进一步提高其鲁棒性能、完善特效显示效果;本发明的输入框动态透明显示特效实现方法,能够应用于未提供窗体控件透明显示API函数的计算机系统下运行的应用软件实现输入框的动态透明显示特效,丰富应用软件的UI视觉显示效果,增强应用软件用户的使用体验感,提升应用软件产品市场竞争力和受众用户群。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种输入框动态透明显示特效实现方法,其特征在于,输入框被激活启动后,在输入框获得焦点的情况下,创建和运行输入框控件;在输入框失去焦点的情况下,获取输入框控件中的录入字符后关闭输入框控件,绘制含有所述录入字符的输入框图片并显示为输入框,且通过动态改变所述输入框图片的透明度值,实现输入框的动态透明显示特效。
2.根据权利要求1所述的输入框动态透明显示特效实现方法,其特征在于,包括以下步骤1)输入框被激活启动,初始化透明度参数TR的值,并清空录入字符缓存区;然后执行步骤2);2)判断当前时刻输入框是否已获得焦点;在输入框获得焦点的情况下,执行步骤3);在输入框失去焦点的情况下,执行步骤4);3)创建输入框控件,将录入字符缓存区中存储的内容填入输入框控件的字符录入区域后,维持输入框控件运行;直至输入框失去焦点时,再复制输入框控件中的录入字符并覆盖存储至录入字符缓存区,然后关闭输入框控件,执行步骤4);4)判断当前时刻鼠标是否位于输入框的显示区域内;若是,执行步骤5);否则执行步骤6);5)更新透明度参数TR的值TR=TR-Δ TRdn ;更新后,若TR ^ 0,直接执行步骤7);若 TR<0,则令TR=0,然后再执行步骤7);其中,Δ TRdn为透明度降值参数,且Δ TRdn>0 ;6)更新透明度参数TR的值TR=TR+Δ TRup ;更新后,若TR < TRmax,直接执行步骤 7);若TRXTRmax,则令TR=TRmax,然后再执行步骤7);其中,Δ TRup为透明度增值参数,且 Δ TRup>0 ;TRmax为预设的透明度上限值;7)获取当前录入字符缓存区内存储的录入字符,绘制含有所述录入字符的输入框图片,并按当前时刻透明度参数TR的值设置输入框图片的透明度值,将绘制的输入框图片作为输入框加以更新显示;经延时At后,返回步骤2);8)循环执行步骤2) 7),直至输入框被关闭时,关闭输入框控件并终止显示输入框图片。
3.根据权利要求2所述的输入框动态透明显示特效实现方法,其特征在于,所述步骤5)中“更新透明度参数TR的值”之前还包括判断当前是否已绘制透明度值为0的输入框图片作为输入框加以显示;若是,则经延时At后直接返回步骤2);否则继续执行该步骤的后续操作。
4.根据权利要求2所述的输入框动态透明显示特效实现方法,其特征在于,所述步骤6)中“更新透明度参数TR的值”之前还包括判断当前是否已绘制透明度值为透明度上限值TRmax的输入框图片作为输入框加以显示;若是,则经延时Δ t后直接返回步骤2);否则继续执行该步骤的后续操作。
5.根据权利要求2所述的输入框动态透明显示特效实现方法,其特征在于,所述步骤 3)中“创建输入框控件”之前还包括判断当前是否已绘制透明度值为0的输入框图片作为输入框加以显示;若否,则执行步骤5);若是,则继续执行该步骤的后续操作。
6.根据权利要求2所述的输入框动态透明显示特效实现方法,其特征在于,所述步骤7)中“绘制含有所述录入字符的输入框图片”的具体流程为a)预先存储有输入框的字符录入区域背景图片模板和边框区域图片模板;b)调用存储的字符录入区域背景图片模板绘制输入框的字符录入区域;c)在绘制的输入框字符录入区域中绘制录入字符;d)调用存储的边框区域图片模板绘制输入框的边框。
7.根据权利要求2飞中任一项所述的输入框动态透明显示特效实现方法,其特征在于,所述步骤1)中,初始化透明度参数TR的值为0。
8.根据权利要求2飞中任一项所述的输入框动态透明显示特效实现方法,其特征在于,所述步骤1)中,初始化透明度参数TR的值为透明度上限值TRmax。
9.根据权利要求2飞中任一项所述的输入框动态透明显示特效实现方法,其特征在于,所述透明度上限值TRmax的取值范围为50°/Γ90%。
10.根据权利要求2飞中任一项所述的输入框动态透明显示特效实现方法,其特征在于,所述透明度降值参数Δ TRdn的取值范围为59Γ20% ;所述透明度增值参数Δ TRup的取值范围为59Γ20% ;所述延时Δ t的取值范围为2(T200ms。
全文摘要
本发明提供了一种输入框动态透明显示特效实现方法,其在输入框被激活启动后,在输入框获得焦点的情况下,创建和运行输入框控件;在输入框失去焦点的情况下,获取输入框控件中的录入字符后关闭输入框控件,绘制含有所述录入字符的输入框图片并显示为输入框,且通过动态改变所述输入框图片的透明度值,实现输入框的动态透明显示特效。本发明的输入框动态透明显示特效实现方法有助于缩短研发周期和降低研发投入成本,能够应用于未提供窗体控件透明显示API函数的计算机系统下运行的应用软件实现输入框的动态透明显示特效,丰富应用软件的UI视觉显示效果,增强应用软件用户的使用体验感,提升应用软件产品市场竞争力和受众用户群。
文档编号G06F3/048GK102541554SQ201110444348
公开日2012年7月4日 申请日期2011年12月27日 优先权日2011年12月27日
发明者方顺豹 申请人:重庆新媒农信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1