不规则窗口中的消息处理方法及装置制造方法

文档序号:6486591阅读:146来源:国知局
不规则窗口中的消息处理方法及装置制造方法
【专利摘要】本发明公开了不规则窗口中的消息处理方法及装置,通过分层窗口方式设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,所述方法包括:在所述窗口中进行对象操作区域的绘制;接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型;判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。由此,在使用分层窗口方式实现窗口的不规则形状时,能够实现窗口中的对象对应的功能,不会受到应用程序复杂度的限制,窗口移动时不会留下残影。
【专利说明】不规则窗口中的消息处理方法及装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及不规则窗口中的消息处理方法及装置。【背景技术】
[0002]随着Windows在操作系统上取得的巨大成绩,Windows用户界面也日益成为业界标准。统一的界面给广大用户对应用软件的学习与使用带来了很大方便。但这种千篇一律的“标准”界面会使得用户看到的应用程序窗口基本都是带有标题栏的矩形外观,比较死板。因此,一些应用程序为了给用户带来视觉上的冲击,会考虑实现不规则窗口,这种不规则窗口主要体现在窗口的外形上。例如,将整个窗口显示为一只兔子的形状等等。
[0003]在实现不规则窗口时,一种方式是利用SetWindowRgn O函数,将绘画和鼠标消息限定在窗口的一个指定的区域,因此实际上是使窗口成为指定的不规则形状(区域形状)。“区域”是Windows⑶I中一种强有力的机制,区域是设备上的一块空间,可以是任意形状,复杂的区域可以由各个小区域组合而成。
[0004]这种方式能够实现窗口形状的不规则,但是如果想在窗口上加上半透明的效果,这种方式就无法实现了。所谓半透明效果是指可以透过该窗口,模糊地看到它下面被覆盖的窗口中的内容。为了实现这种半透明效果,可以采用分层窗口的方式针对窗口中的每个像素设置透明度属性,透明度属性的取值可以从O到255之间任意进行选择,不同的值则可以呈现出不同的透明度,如果某个像素点的透明度值被设定为0,则为全透明的效果,如果需要将窗口显示为某形状,则将矩形窗口中该形状以外的部分对应的像素的透明度值设置为O即可。因此,使用这种分层窗口的方式,既能够实现不规则的窗口形状,又可以实现窗口的半透明效果。
[0005]但是,一旦使用分层窗口方式设置窗口的透明度,则windows操作系统将不再支持向窗口中添加控件(包括输入框、按钮等等),使得无法通过向窗口中添加控件的方式来实现各种具体的功能(例如截图功能等)。
[0006]在现有技术中,为了能够在使用分层窗口的方式实现了窗口的不规则形状及透明度之后,使得窗口仍然能够实现应有的功能,可以采用分层的方式来实现。例如,在其中的第一层上使用分层窗口实现窗口的不规则形状、半透明效果等,在第二层上添加窗口中需要实现的各个功能对应的控件,并利用SetWindowRgnO函数将这些控件所在区域之外的部分设置为全透明,然后叠加到第一层上,这样,就可以实现窗口的不规则形状以及半透明效果,同时能够通过控件的方式实现窗口中所需实现的功能。
[0007]但是,这种实现方式中,至少存在以下问题:一般不适合大规模使用;并且,由于毕竟是两层窗口叠加之后的效果,因此,当两层窗口中有任意一个移动或者改变大小时,另一个需要相应变化,实践表明,如果移动时速度比较快则会留下残影。可见,这种方案适用于不移动窗口的简单程序。
[0008]但在实际应用中,多数的应用程序都是比较复杂的,并且移动窗口的情况也经常出现,因此,迫切需要本领域技术人员解决的技术问题就在于,如何在使用分层窗口实现窗口的不规则形状、半透明效果时,仍然能够实现窗口中的对象对应的功能,并且不会受到应用程序复杂度的限制,在窗口移动时也不会留下残影。

【发明内容】

[0009]本发明提供了不规则窗口中的消息处理方法及装置,能够在使用分层窗口实现窗口的不规则形状、半透明效果时,仍然能够实现窗口中的对象对应的功能,并且不会受到应用程序复杂度的限制,在窗口移动时也不会留下残影。
[0010]本发明提供了如下方案:
[0011 ] 一种不规则窗口中的消息处理方法,通过分层窗口方式设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,所述方法包括:
[0012]在所述窗口中进行对象操作区域的绘制;
[0013]接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型;
[0014]判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。
[0015]可选的,当所述被操作对象为功能按钮,所述操作类型为操作焦点进入该功能按钮操作区域内时,所述根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,包括:
[0016]执行操作焦点进入该功能按钮操作区域时对应的消息处理方法,以便于对窗口中该功能按钮操作区域进行重绘,展现出操作焦点进入该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0017]可选的,还包括:
[0018]当操作焦点移出该功能按钮操作区域内时,对窗口中该功能按钮操作区域进行重绘,以展现出操作焦点移出该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0019]可选的,当所述被操作对象为功能按钮,所述操作类型为点击操作时,所述根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,包括:
[0020]执行该功能按钮被点击时对应的消息处理方法,以实现该功能按钮对应的功能。
[0021]可选的,当所述被操作对象为输入框,所述操作类型为点击操作时,所述根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,包括:
[0022]在所述输入框的起始位置绘制光标,以便表明进入编辑状态。
[0023]可选的,在所述输入框的起始位置绘制光标之后还包括:
[0024]将用户输入的字符绘制在输入框内,并在当前的最后一个字符之后重新绘制光标。
[0025]可选的,所述分层窗口方式包括layered window方式。
[0026]一种不规则窗口中的消息处理装置,通过分层窗口方式设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,所述装置包括:
[0027]对象绘制单元,用于在所述窗口中进行对象操作区域的绘制;[0028]消息接收单元,用于接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型;
[0029]方法调用单元,用于判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。
[0030]可选的,当所述被操作对象为功能按钮,所述操作类型为操作焦点进入该功能按钮操作区域内时,所述方法调用单元包括:
[0031]第一重绘子单元,用于执行操作焦点进入该功能按钮操作区域时对应的消息处理方法,以便于对窗口中该功能按钮操作区域进行重绘,展现出操作焦点进入该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0032]可选的,所述方法调用单元还包括:
[0033]第二重绘子单元,用于当操作焦点移出该功能按钮操作区域内时,对窗口中该功能按钮操作区域进行重绘,以展现出操作焦点移出该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0034]可选的,当所述被操作对象为功能按钮,所述操作类型为点击操作时,所述方法调用单元包括:
[0035]功能实现子单元,用于执行该功能按钮被点击时对应的消息处理方法,以实现该功能按钮对应的功能。
[0036]可选的,当所述被操作对象为输入框,所述操作类型为点击操作时,所述方法调用单元包括:
[0037]光标绘制子单元,用于在所述输入框的起始位置绘制光标,以便表明进入编辑状态。
[0038]可选的,所述方法调用单元还包括:
[0039]字符绘制子单元,用于在所述输入框的起始位置绘制光标之后,将用户输入的字符绘制在输入框内,并在当前的最后一个字符之后重新绘制光标。
[0040]可选的,所述分层窗口方式包括layered window方式。
[0041]根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0042]通过本发明,在使用分层窗口实现窗口的不规则形状、半透明效果时,可以将需要窗口中实现的功能接口绘制在窗口中,当操作系统发送的消息指示用户对某位置执行了某类型的操作时,可以判断该位置处是否为某对象操作区域所在的位置,如果是,则可以直接调用对应的方法来进行处理。可见,通过这种方式仍然能够实现窗口中的对象对应的功能,并且由于对象操作区域直接绘制在窗口中,而不是处于与窗口背景不同的层中,因此不会受到应用程序复杂度的限制,在窗口移动时也不会留下残影。
【专利附图】

【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0044]图1是本发明实施例提供的方法的流程图;
[0045]图2是本发明实施例提供的装置的示意图。
【具体实施方式】
[0046]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0047]在本发明实施例中,仍然采用分层窗口方式(例如,可以包括Iayeredwindow或者其他类似的方式,在以下实施例中,均以layered window为例进行介绍)设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,但为了能够实现窗口中的对象对应的功能,并且不会受到应用程序复杂度的限制,在窗口移动时也不会留下残影,本发明实施例提供了以下消息处理方法,参见图1,该方法包括:
[0048]SlOl:在所述窗口中进行对象操作区域的绘制;
[0049]在通过layered window方式实现了窗口的不规则形状和/或半透明效果之后,由于不能再通过向窗口中添加控件的方式来实现各种功能,因此,在本发明实施例中,为了能够达到与添加了控件时类似的效果,可以将窗口中需要添加的对象以绘制的方式添加到窗口中,具体绘制的内容就是指对象操作区域,这里的对象可以包括输入框、功能按钮等等。在窗口中绘制了对象操作区域之后,就像在常规的窗口中看到的功能按钮、输入框等一样。也就是说,用户仍然能够在窗口中看到一些功能按钮、输入框等对象,只不过这些对象对于操作系统而言,不再是控件,而是连同窗口一起看作是一幅图片。也就是说,假设当前的应用程序是一个即时通信工具,该即时通信工具的聊天界面就可以采用上述方式来实现,即聊天界面中的输入框、表情、字体、截图等功能按钮,都是绘制在聊天界面中的,整个聊天界面会作为一个窗口消息发送给操作系统,对于操作系统而言,聊天界面是一个唯一的窗口,相当于一张图片,通过对该图片边缘进行透明、半透明、阴影等效果化实现聊天界面边缘的异形。
[0050]具体实现时,应用程序可以建立自己的界面库,通过该界面库,在窗口上添加各种对象,如输入框,各种功能按钮等,在此过程中,允许对象嵌套对象,如工具栏作为一个对象,工具栏上还可以摆放各种按钮,等等。当然,操作系统并不会获取这些对象信息。
[0051]S102:接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型;
[0052]虽然窗口中的对象操作区域是由应用程序绘制在窗口中的,但是用户仍然能够将操作焦点(例如在Windows操作系统中,鼠标可以代表用户的操作焦点等等)移动到对象操作区域内执行点击等操作,只不过操作系统无法识别出用户是对这种对象执行的操作。但是,操作系统仍然会将操作焦点的位置以及用户执行的操作的类型发送给应用程序的窗口,这是由操作系统自身的消息处理机制决定的,因此不再进行赘述。
[0053]S103:判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。[0054]由于应用程序自己知道每个对象的摆放位置、大小等信息,因此,应用程序窗口在接收到操作系统的用户操作消息之后,就可以判断操作焦点的当前位置是不是在某个对象处,如果是,则证明该对象为被操作对象,进而就可以根据当前操作的类型,在界面库中找到该操作类型下,该被操作对象的消息处理方法,从而实现对用户操作消息的处理。也即,在应用程序的界面库中保存了各个对象在被执行各种类型的操作时,分别对应的消息处理方法,这种方法可以是应用程序的开发者提供的,当对象被操作时,直接运行对应的消息处理方法即可。这样,就可以使得像是在窗口中添加了控件一样的效果。
[0055]例如,当被操作对象为某功能按钮时,如果用户的操作类型是操作焦点进入了该功能按钮的操作区域内,此时,相当于该功能按钮获得了操作焦点焦点。此时,就可以将该功能按钮进行突出显示,例如改变颜色,或者加上边框等等,以提示用户该功能按钮已经获得了焦点。当然,在本发明实施例中,如果需要实现上述效果,则应用程序需要在该功能按钮操作区域处进行重绘,从而展现出操作焦点进入该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。需要说明的是,重绘后的样式,可以根据预先在界面库中保存的图片来确定。也即,可以在界面库中保存功能按钮在获得焦点时对应的图片,在该功能按钮获取操作焦点焦点后,直接将该图片绘制在该功能按钮的位置,用于替换之前的图片即可。当然,当操作焦点移动到功能按钮上时,除了功能按钮在显示状态上会发生变化之夕卜,还可能需要显示出关于该按钮的功能的简介(例如操作焦点移动到截图按钮上时,会提示”截取图片”等提示信息,当操作焦点移动到表情按钮上时,还可能提示出一些常用表情等等),这些提示信息也可能会显示在窗口内,使得窗口界面发生变化,此时,直接将需要提示的信息绘制在指定的位置处即可.另外,当发现操作焦点移出该功能按钮的操作区域之后,还可以再次在该区域处进行重绘,以展现出操作焦点移出该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0056]又如,如果被操作对象为功能按钮,并且操作类型为点击操作,则在接收到该用户操作消息之后,就可以执行该功能按钮被点击时对应的消息处理方法,以实现该功能按钮对应的功能,在此过程中,可能会启动新的窗口,等等,并且还可能导致窗口界面显示上发生变化,但总之,只要将发生变化的区域进行重绘即可。例如,当在聊天界面中操作某个对象时,操作系统把聊天窗口的某个位置被操作的消息发送给应用程序的界面库,界面库根据这个位置及操作的消息执行该对象的方法。如,用户单击聊天窗口的截图按钮,则操作系统会将截图按钮相对于聊天窗口的所在位置和执行单击操作这两个消息发送给界面库,界面库根据位置信息知道这里摆放的是截图按钮,单击行为表示单击截图,进而调用截图的实现方法响应用户的截图操作即可。
[0057]再者,被操作对象还可能是个输入框,在常规的实现方式下,只要用户将操作焦点移动到输入框区域内,并且执行点击操作,操作系统就能够获知该事件,并直接将光标显示在输入框内;而在本发明实施例中,操作系统并不能识别出输入框这个对象,只能通知应用程序,用户将操作焦点移动到了某位置处内并执行了点击操作时,应用程序在判断出当前位置位于输入框内时,就可以在输入框内的起始位置处绘制一光标,为了使显示的效果更接近于真正的输入框控件被点击时光标的显示状态,还可以将光标的显示实现闪烁的效果,具体实现时,就可以在绘制光标之后,过一定的时间之后,再用一张空白的图片进行重绘,然后再重新绘制光标,以此类推,这样,在用户看来,就与将操作焦点移动到常规窗口的输入框内并点击操作焦点之后的效果是相同的。
[0058]当然,之后用户可能还会执行字符的输入操作,此时,应用程序在接收到用户输入的字符之后,将用户输入的字符绘制在输入框内,同时将光标重新绘制在最后一个字符之后即可。如果用户在输入了一些字符之后,如果执行移动左右键的操作,则还可以通过重绘的方式,改变光标出现的位置。如果用户点击了 “发送”按钮,则可以将输入框处绘制原始的输入框图片,同时将光标绘制在起始位置处即可,同时可以将此次发送的内容绘制在对话展现区域内,当接收到对方返回的消息时,也可以将对方返回的消息,显示在对话展现区域内。
[0059]总之,窗口的更新可以以图片方式提供给UpdateLayeredWindow函数,例如,当操作焦点移动到某功能按钮上时,可以在后台绘制一个图片,然后使用UpdateLayeredWindow函数更新窗口的位图即可。
[0060]通过以上所述可见,在本发明实施例中,在使用layered window的方式实现窗口的不规则形状、半透明效果时,可以将需要窗口中实现的功能接口绘制在窗口中,当操作系统发送的消息指示用户对某位置执行了某类型的操作时,可以判断该位置处是否为某对象操作区域所在的位置,如果是,则可以直接调用对应的方法来进行处理。可见,通过这种方式仍然能够实现窗口中的对象对应的功能,并且由于对象操作区域直接绘制在窗口中,而不是处于与窗口背景不同的层中,因此不会受到应用程序复杂度的限制,在窗口移动时也不会留下残影。
[0061]与本发明实施例提供的不规则窗口中的消息处理方法相对应,本发明实施例还提供了一种不规则窗口中的消息处理装置,在该装置中,可以通过分层窗口的方式设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,参见图2,该装置可以包括:
[0062]对象绘制单元201,用于在所述窗口中进行对象操作区域的绘制;
[0063]消息接收单元202,用于接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型;
[0064]方法调用单元203,用于判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。
[0065]其中,当所述被操作对象为功能按钮,所述操作类型为操作焦点进入该功能按钮操作区域内时,方法调用单元203包括:
[0066]第一重绘子单元,用于执行操作焦点进入该功能按钮操作区域时对应的消息处理方法,以便于对窗口中该功能按钮操作区域进行重绘,展现出操作焦点进入该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0067]在实际应用中,方法调用单元203还可以包括:
[0068]第二重绘子单元,用于当操作焦点移出该功能按钮操作区域内时,对窗口中该功能按钮操作区域进行重绘,以展现出操作焦点移出该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
[0069]当所述被操作对象为功能按钮,所述操作类型为点击操作时,方法调用单元203可以包括:[0070]功能实现子单元,用于执行该功能按钮被点击时对应的消息处理方法,以实现该功能按钮对应的功能。
[0071]另外,当所述被操作对象为输入框,所述操作类型为点击操作时,方法调用单元203可以包括:
[0072]光标绘制子单元,用于在所述输入框的起始位置绘制光标,以便表明进入编辑状态。
[0073]此外,方法调用单元203还可以包括:
[0074]字符绘制子单元,用于在所述输入框的起始位置绘制光标之后,将用户输入的字符绘制在输入框内,并在当前的最后一个字符之后重新绘制光标。
[0075]其中,分层窗口的方式可以包括layered window方式等等。
[0076]通过以上所述可见,在本发明实施例中,在使用分层窗口的方式实现窗口的不规则形状、半透明效果时,可以将需要窗口中实现的功能接口绘制在窗口中,当操作系统发送的消息指示用户对某位置执行了某类型的操作时,可以判断该位置处是否为某对象操作区域所在的位置,如果是,则可以直接调用对应的方法来进行处理。可见,通过这种方式仍然能够实现窗口中的对象对应的功能,并且由于对象操作区域直接绘制在窗口中,而不是处于与窗口背景不同的层中,因此不会受到应用程序复杂度的限制,在窗口移动时也不会留下残影。
[0077]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0078]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0079]以上对本发明所提供的不规则窗口中的消息处理方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种不规则窗口中的消息处理方法,其特征在于,通过分层窗口方式设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,所述方法包括: 在所述窗口中进行对象操作区域的绘制; 接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型; 判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。
2.根据权利要求1所述的方法,其特征在于,当所述被操作对象为功能按钮,所述操作类型为操作焦点进入该功能按钮操作区域内时,所述根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,包括: 执行操作焦点进入该功能按钮操作区域时对应的消息处理方法,以便于对窗口中该功能按钮操作区域进行重绘,展现出操作焦点进入该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
3.根据权利要求2所述的方法,其特征在于,还包括: 当操作焦点移出该功能按钮操作区域内时,对窗口中该功能按钮操作区域进行重绘,以展现出操作焦点移出该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
4.根据权利要求1所述的方法,其特征在于,当所述被操作对象为功能按钮,所述操作类型为点击操作时,所述根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,包括:` 执行该功能按钮被点击时对应的消息处理方法,以实现该功能按钮对应的功能。
5.根据权利要求1所述的方法,其特征在于,当所述被操作对象为输入框,所述操作类型为点击操作时,所述根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,包括: 在所述输入框的起始位置绘制光标,以便表明进入编辑状态。
6.根据权利要求5所述的方法,其特征在于,在所述输入框的起始位置绘制光标之后还包括: 将用户输入的字符绘制在输入框内,并在当前的最后一个字符之后重新绘制光标。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述分层窗口方式包括layered window 方式。
8.一种不规则窗口中的消息处理装置,其特征在于,通过分层窗口方式设定窗口中各个像素的透明度值,以实现窗口的不规则形状和/或半透明效果,所述装置包括: 对象绘制单元,用于在所述窗口中进行对象操作区域的绘制; 消息接收单元,用于接收操作系统发送的用户操作消息,所述用户操作消息中包括操作焦点的当前位置以及当前用户操作的类型; 方法调用单元,用于判断所述操作焦点的当前位置是否位于某对象的操作区域内,如果是,将该对象确定为被操作对象,并根据当前用户操作的类型,运行该类型下该被操作对象的消息处理方法,实现对所述用户操作消息的处理。
9.根据权利要求8所述的装置,其特征在于,当所述被操作对象为功能按钮,所述操作类型为操作焦点进入该功能按钮操作区域内时,所述方法调用单元包括: 第一重绘子单元,用于执行操作焦点进入该功能按钮操作区域时对应的消息处理方法,以便于对窗口中该功能按钮操作区域进行重绘,展现出操作焦点进入该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
10.根据权利要求9所述的装置,其特征在于,所述方法调用单元还包括: 第二重绘子单元,用于当操作焦点移出该功能按钮操作区域内时,对窗口中该功能按钮操作区域进行重绘,以展现出操作焦点移出该功能按钮操作区域前后,该功能按钮操作区域在展现效果上的变化。
11.根据权利要求8所述的装置,其特征在于,当所述被操作对象为功能按钮,所述操作类型为点击操作时,所述方法调用单元包括: 功能实现子单元,用于执行该功能按钮被点击时对应的消息处理方法,以实现该功能按钮对应的功能。
12.根据权利要求8所述的装置,其特征在于,当所述被操作对象为输入框,所述操作类型为点击操作时,所述方法调用单元包括: 光标绘制子单元,用于在所述输入框的起始位置绘制光标,以便表明进入编辑状态。
13.根据权利要求12所述的装置,其特征在于,所述方法调用单元还包括: 字符绘制子单元,用于在所述输入框的起始位置绘制光标之后,将用户输入的字符绘制在输入框内,并在当前的最后一个字符之后重新绘制光标。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述分层窗口方式包括layered window 方式。
【文档编号】G06F9/44GK103513857SQ201210222308
【公开日】2014年1月15日 申请日期:2012年6月28日 优先权日:2012年6月28日
【发明者】朱翼鹏, 陈宁一, 胡宇光, 周云峰, 刘伟刚, 刘航 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1