CN104102367B - 一种信息处理方法及装置 - Google Patents
一种信息处理方法及装置 Download PDFInfo
- Publication number
- CN104102367B CN104102367B CN201310121330.1A CN201310121330A CN104102367B CN 104102367 B CN104102367 B CN 104102367B CN 201310121330 A CN201310121330 A CN 201310121330A CN 104102367 B CN104102367 B CN 104102367B
- Authority
- CN
- China
- Prior art keywords
- window
- control element
- mark
- undetermined
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Position Input By Displaying (AREA)
Abstract
本申请公开了一种信息处理方法及装置,用以解决现有技术中采用薄边框设计的窗口中的空间利用率较低的问题。该方法控件单元接收到操作系统发送的位置询问消息后,如果确定当前鼠标的光标位于该控件单元所在的窗口的边框上,则向操作系统返回透传响应消息,以指示操作系统将该位置询问消息发送给窗口处理。通过上述方法,即使控件单元与窗口的实际非客户区发生重叠,位置询问消息也会穿透重叠于该实际非客户区上的控件单元而最终到达窗口,由窗口处理位置询问消息,因此可以在方便用户调整窗口大小的同时,提高窗口中的空间利用率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种信息处理方法及装置。
背景技术
目前,软件的窗口越来越流行美观的薄边框设计,许多窗口的边框细到只有1个像素,如图1所示。
图1为现有技术中的薄边框窗口示意图。一般的,窗口可分为两个区域,即客户区和非客户区。非客户区包括窗口的边框、标题栏以及标题栏上的系统菜单图标、最大化按钮、最小化按钮、关闭按钮等,客户区则通常是最大的一块区域,用于展示窗口中具体的内容。图1所示的窗口的边框就是只有1个像素的薄边框。
但是,采用如图1所示的薄边框设计窗口,当用户需要调整窗口的大小时,却会给用户带来操作上的不便。这是因为调整窗口的大小时,用户需要将鼠标的光标移动到窗口的边框上,使鼠标的光标变成可拖动状态,而由于窗口的边框过细,因此用户不方便将鼠标的光标移动到窗口的边框上。
为了在采用薄边框设计窗口的同时,便于用户调整窗口的大小,现有技术中所采用的方法如图2所示。
图2为现有技术中操作系统与窗口的信息交互过程,具体包括以下步骤:
S201:操作系统实时的向窗口发送位置询问消息。
其中,位置询问消息可以是WM_NCHITTEST消息,操作系统实时向窗口发送位置询问消息,以实时确定当前鼠标的光标是否位于窗口的边框上。
S202:窗口接收到位置询问消息后,判断当前鼠标的光标与边框的距离是否落在设定范围内,若是,则执行步骤S203,否则执行步骤S204。
如,该设定范围可设定为6个像素,即,如果鼠标的光标与窗口的边框的距离不大于6个像素,则窗口确定当前鼠标的光标位于窗口的边框上,可对窗口的大小进行调整,否则,窗口确定当前鼠标的光标不在窗口的边框上,不能对窗口的大小进行调整。
S203:窗口向操作系统返回确认信息,操作系统则将鼠标的光标变更为可拖动状态,以提示用户可调整窗口的大小。
S204:窗口向操作系统返回否认信息,操作系统不改变鼠标的光标的状态。
上述方法实际上是增加了窗口的非客户区,如图3所示。
图3为现有技术中基于图2所示的信息处理方法的窗口结构示意图,在图3中,虽然窗口的边框仍然是薄边框(图3以边框是1个像素为例进行说明),但是当鼠标的光标与边框的距离落入设定范围(图3以设定范围是6个像素为例进行说明)内时,窗口就会确定鼠标的光标位于边框上,也即位于非客户区中,因此图2所示的方法实际上是增加了窗口的非客户区。
下面将仅包括薄边框的非客户区称为视觉非客户区(如图3中宽度为1个像素的薄边框),将实际增加后的非客户区称为实际非客户区(如图3中虚线所示的薄边框周围6个像素以内)。
在实际应用场景中,在窗口的客户区中通常会添加很多诸如按钮等控件单元(即,窗口控件)。为了有效的利用窗口中的空间,在客户区中添加控件单元时,添加的控件单元往往会与实际非客户区发生重叠。
继续以图3为例进行说明,在图3中,控件单元a与左侧的实际非客户区发生了重叠,控件单元c与右下侧的实际非客户区发生了重叠。
而实际上,控件单元也是一个窗口,对于窗口中的一个控件单元而言,该控件单元就相当于该窗口中的一个子窗口。由于操作系统在发送位置询问消息时,是将位置询问消息发送给当前鼠标的光标所在位置处的最上层窗口来处理的,因此,当鼠标的光标位于图3中点A的位置上时,操作系统发送的位置询问消息就会由控件单元c调用的缺省窗口过程进行处理,而不会由窗口来处理。也就是说,在图3所示的窗口中,当用户将鼠标的光标移动到点A的位置上时,仍然不能调整窗口的大小。
因此,现有技术中在采用薄边框设计窗口时,添加的控件单元不能与实际非客户区发生重叠,降低了窗口中的空间利用率。
发明内容
本申请实施例提供一种信息处理方法及装置,用以解决现有技术中采用薄边框设计的窗口中的空间利用率较低的问题。
本申请实施例提供的一种信息处理方法,包括:
控件单元接收操作系统发送的位置询问消息;并
判断当前鼠标的光标是否位于所述控件单元所在的窗口的边框上;
若是,则所述控件单元向所述操作系统返回透传响应消息,用于指示所述操作系统将所述位置询问消息发送给所述窗口处理;
否则,所述控件单元调用缺省窗口过程处理所述位置询问消息。
本申请实施例提供的一种信息处理装置,包括:
接收模块,用于接收操作系统发送的位置询问消息;
判断模块,用于判断当前鼠标的光标是否位于所述装置自身所在的窗口的边框上;
透传处理模块,用于当所述判断模块的判断结果为是时,向所述操作系统返回透传响应消息,指示所述操作系统将所述位置询问消息发送给所述窗口处理;
默认处理模块,用于当所述判断模块的判断结果为否时,调用缺省窗口过程处理所述位置询问消息。
本申请实施例提供一种信息处理方法及装置,该方法控件单元接收到操作系统发送的位置询问消息后,如果确定当前鼠标的光标位于该控件单元所在的窗口的边框上,则向操作系统返回透传响应消息,以指示操作系统将该位置询问消息发送给窗口处理。通过上述方法,即使控件单元与窗口的实际非客户区发生重叠,位置询问消息也会穿透重叠于该实际非客户区上的控件单元而最终到达窗口,由窗口处理位置询问消息,因此可以在方便用户调整窗口大小的同时,提高窗口中的空间利用率。
附图说明
图1为现有技术中的薄边框窗口示意图;
图2为现有技术中操作系统与窗口的信息交互过程;
图3为现有技术中基于图2所示的信息处理方法的窗口结构示意图;
图4为本申请实施例提供的信息处理过程;
图5为本申请实施例提供的控件单元与窗口的实际非客户区发生重叠时的示意图;
图6为本申请实施例提供的窗口中包含两个控件单元时的信息处理过程;
图7为本申请实施例提供的两个控件单元均与窗口的实际非客户区发生重叠的示意图;
图8为本申请实施例提供的控件单元调用判断过程的第一种方法;
图9为本申请实施例提供的信息处理装置结构示意图。
具体实施方式
为了实现在方便用户调整窗口大小的同时,提高窗口中的空间利用率,本申请实施例中当窗口中的控件单元与实际非客户区发生重叠时,如果控件单元接收到操作系统发送的位置询问消息,则欺骗操作系统该控件单元在此处是透明的,使该位置询问消息能够穿透该控件单元而向窗口传递,由窗口来处理该位置询问消息。
下面结合附图对本申请优选的实施方式进行详细说明。
图4为本申请实施例提供的信息处理过程,具体包括以下步骤:
S401:控件单元接收操作系统发送的位置询问消息。
在本申请实施例中,当用户将鼠标的光标移动到控件单元上时,由于操作系统是默认将位置询问消息发送给当前鼠标的光标所在位置处的最上层窗口来处理的,因此,此时控件单元会接收到操作系统发送的该位置询问消息,如图5所示。
图5为本申请实施例提供的控件单元与窗口的实际非客户区发生重叠时的示意图,在图5中,阴影所示的区域即为窗口501的实际非客户区,而控件单元502与实际非客户区发生了重叠。在图5所示的点A位置处,由上层至下层依次是:控件单元502、窗口501的实际非客户区。因此,如果当前鼠标的光标位于点A处,则位于最上层的控件单元502就会接收到操作系统发送的位置询问消息。
S402:判断当前鼠标的光标是否位于控件单元所在的窗口的边框上,若是,则执行步骤S403,否则执行步骤S404。
与现有技术中类似的,控件单元判断当前鼠标的光标是否位于该控件单元自身所在的窗口的边框上的方法也可以为:判断控件单元所在的窗口的边框到当前鼠标的光标的距离是否落入设定范围内,若是,则确定当前鼠标的光标位于该窗口的边框上,否则,确定当前鼠标的光标不位于该窗口的边框上。该设定范围可根据需要进行设定,如6个像素。其中,控件单元所在的窗口的边框到当前鼠标的光标的距离为所述窗口中离鼠标最近的边框到当前鼠标的光标的距离。
S403:控件单元向操作系统返回透传响应消息,用于指示操作系统将该位置询问消息发送给窗口处理。
继续以图5为例进行说明,当鼠标的光标位于点A处时,控件单元502接收到操作系统发送的位置询问消息后,确定窗口501的边框到当前鼠标的光标的距离落入设定范围内,即,确定当前鼠标的光标位于窗口501的实际非客户区中,则向操作系统返回透传响应消息。具体的,控件单元502向操作系统返回的透传响应消息可以是HTTRANSPARENT标志位。如,假设操作系统接收到HTTRANSPARENT标志位的数值为1时,将位置询问消息发送给控件单元502下层的窗口501进行处理。
当操作系统接收到控件单元返回的透传响应消息时,则认为该控件单元502在点A处是透明的,因此将该位置询问消息发送给位于该控件单元502下一层的窗口501进行处理。这样,该位置询问消息就相当于穿透了点A处的控件单元502而到达了窗口501。
当窗口501接收到该位置询问消息时,则向操作系统返回确认信息,使操作系统将鼠标的光标变更为可拖动状态,以提示用户可调整窗口501的大小。
S404:控件单元调用缺省窗口过程处理该位置询问消息。
如果控件单元通过步骤S402确定当前鼠标的光标不在该控件单元所在的窗口的边框上,即,确定该控件单元所在的窗口的边框到当前鼠标的光标的距离未落入设定范围内,则调用缺省窗口过程对该位置询问消息进行默认处理。
通过上述过程,即使控件单元与窗口的实际非客户区发生重叠,位置询问消息也会穿透重叠于该实际非客户区上的控件单元而最终到达窗口,由窗口处理位置询问消息,从而操作系统可将鼠标的光标变更为可拖动状态,以提示用户可调整窗口的大小,因此可以在方便用户调整窗口大小的同时,提高窗口中的空间利用率。
虽然现有技术中也存在通过DirectUI实现控件单元的方法,使添加在窗口中的控件单元称为非窗口控件单元,可达到同样的效果,但是通过DirectUI实现的控件单元不能使用现有操作系统的控件库,必须要重新开发一套控件库,因此开发控件单元的开销过大。而通过本申请实施例提供的上述方法,可通过现有操作系统的控件库,实现当控件单元与实际非客户区重叠时将位置询问信息透传至窗口进行处理,因此可以有效的节省开发控件单元的开销。
进一步的,一个窗口中可能会包含多个控件单元,也即,鼠标的光标下可能会存在多个控件单元,最底层才是窗口,此时,在图4所示的步骤S401中,最上层的控件单元接收到操作系统发送的位置询问消息,并通过步骤S402确定当前鼠标的光标位于该控件单元所在的窗口的边框上后,可通过步骤S403中向操作系统返回透传响应消息,用于指示操作系统将位置询问消息发送给位于该控件单元下一层的另一控件单元处理。类似的,操作系统将位置询问消息发送给下一层的控件单元处理后,下一层的控件单元也进行类似的处理,即,向操作系统返回透传响应消息,指示操作系统将位置询问消息发送给再下一层的控件单元处理,直至操作系统将位置询问消息发送给最底层的窗口处理为止。这样,即使窗口中的多个控件单元与窗口的实际非客户区发生重叠,位置询问消息也会依次穿透重叠于该实际非客户区上的各个控件单元而最终到达窗口,由窗口处理位置询问消息,从而操作系统可将鼠标的光标变更为可拖动状态,以提示用户可调整窗口的大小,因此可以在方便用户调整窗口大小的同时,提高窗口中的空间利用率。下面以窗口中包含两个控件单元为例进行说明,如图6所示。
图6为本申请实施例提供的窗口中包含两个控件单元时的信息处理过程,具体包括以下步骤:
S601:第一控件单元接收操作系统发送的位置询问消息。
图7为本申请实施例提供的两个控件单元均与窗口的实际非客户区发生重叠的示意图,在图7中,第二控件单元703位于第一控件单元702的下层,A点处从上到下依次是第一控件单元702、第二控件单元703、窗口701。当鼠标的光标位于点A处时,最上层的第一控件单元702会接收到操作系统发送的位置询问消息。
S602:第一控件单元判断当前鼠标的光标是否位于该第一控件单元所在的窗口的边框上,若是,则执行步骤S603,否则执行步骤S604。
第一控件单元702接收到操作系统发送的位置询问消息后,可判断自身所在的窗口701的边框到当前鼠标的光标的距离是否落入设定范围内,若是,则确定当前鼠标的光标位于该第一控件单元702所在的窗口701的边框上,否则,确定当前鼠标的光标不位于该第一控件单元702所在的窗口701的边框上。
S603:第一控件单元向操作系统返回透传响应消息,用于指示操作系统将位置询问消息发送给第二控件单元进行处理,直至操作系统将位置询问消息发送给窗口处理为止。
当第一控件单元702确定当前鼠标的光标位于其自身所在窗口701的边框上时(也即位于实际非客户区中),则向操作系统返回透传响应消息。操作系统接收到第一控件单元702返回的透传响应消息后,则认为该第一控件单元702在点A处是透明的,因此将该位置询问消息发送给位于第一控件单元702的下一层、且同样包含当前鼠标的光标所在位置(即点A处)的第二控件单元703进行处理。这样,该位置询问消息就相当于穿透了点A处的第一控件单元702,到达了第二控件单元703。
类似的,第二控件单元703接收到操作系统发送的位置询问消息后,也同样执行上述步骤S601~S603,以指示操作系统将位置询问消息发送给位于第二控件单元703的下一层、且同样包含当前鼠标的光标所在位置(即点A处)的窗口701进行处理。至此,该位置询问消息相当于穿透了点A处的第一控件单元702和第二控件单元703,最终到达了窗口701。
当窗口701接收到该位置询问消息时,则向操作系统返回确认信息,使操作系统将鼠标的光标变更为可拖动状态,以提示用户可调整窗口701的大小。
S604:第一控件单元调用缺省窗口过程处理该位置询问消息。
较佳的,在上述图4所示的步骤S402和图6所示的步骤S602中,控件单元判断当前鼠标的光标是否位于窗口的边框上时,可以通过自身的基类向该窗口调用判断过程,并通过调用的判断过程判断当前鼠标的光标是否位于该窗口的边框上。这是由于在一个窗口中添加的所有控件单元均继承于同一个基类,而每个控件单元在接收到操作系统发送的位置询问消息时,均要通过其基类对该位置询问消息进行处理,因此,将判断过程写入窗口的实现代码中,每个控件单元在接收到位置询问消息时,只需通过基类调用该判断过程,即可实现判断当前鼠标的光标是否位于窗口的边框上,而无需将判断过程写入窗口中每个控件单元的实现代码中,可以进一步减小开发控件单元所带来的开销。
例如,判断过程可以是:判断鼠标的光标距离窗口的边框的距离是否在6个像素以内,若是,则确定当前鼠标的光标位于窗口的边框上,否则确定当前鼠标的光标不位于窗口的边框上。
则将上述判断过程添加到窗口的实现代码中后,窗口的控件单元在接收到位置询问消息时,即可通过自身的基类调用上述判断过程进行判断。
进一步的,控件单元调用添加在窗口的实现代码中的判断过程的方法包括以下两种,下面以图8所示的过程为例进行详细说明。
方法一、如图8所示。图8为本申请实施例提供的控件单元调用判断过程的第一种方法,具体包括以下步骤:
S801:控件单元获取自身父窗口的标识,将获取到的标识对应的父窗口作为待定窗口。
继续以图7为例进行说明,在图7中,第二控件单元703是窗口701中的控件单元,相当于是该窗口701中的一个子窗口,而第一控件单元702又是第二控件单元703中的一个控件单元,因此第一控件单元702相当于是该第二控件单元703的一个子窗口,也即,第一控件单元702的父窗口为第二控件单元703,第二控件单元703的父窗口为如图7所示的窗口701。因此,第一控件单元702可通过自身的GetParent函数来获取其自身的父窗口的标识,也即第二控件单元703的标识。获取到第一控件单元702的父窗口的标识后,第一控件单元702则将获取到的标识对应的父窗口(即第二控件单元703)作为待定窗口。
S802:控件单元指示待定窗口获取该待定窗口自身的父窗口的标识,并将获取到的标识返回给该控件单元。
继续沿用上例,第一控件单元702将第二控件单元703作为待定窗口后,则指示当前的待定窗口(第二控件单元703)获取该待定窗口的父窗口的标识,从而,第二控件单元703获取到的父窗口的标识即为如图7所示的窗口701的标识(第二控件单元703同样可以通过GetParent函数获取其父窗口的标识),再将获取到的父窗口的标识返回给第一控件单元702。
S803:控件单元判断该待定窗口是否返回了该待定窗口的父窗口的标识,若是,则执行步骤S804,否则执行步骤S805。
在本申请实施例中,第一控件单元判断待定窗口是否返回了该待定窗口的父窗口的标识的方法具体可以为:当第一控件单元确定待定窗口返回的标识为空(也即,待定窗口未获取到该待定窗口的父窗口的标识),或者确定待定窗口返回的标识为桌面窗口的标识时,则确定该待定窗口未返回该待定窗口的父窗口的标识,否则,确定该待定窗口返回了该待定窗口的父窗口的标识。
继续沿用上例,由于第二控件单元703(当前的待定窗口)获取到的其父窗口的标识为如图7所示的窗口701的标识,其并非是桌面窗口的标识,因此,第二控件单元703将获取到的标识返回第一控件单元702后,第一控件单元702则确定当前的待定窗口返回了该待定窗口的父窗口的标识,执行下述步骤S804。
S804:将接收到的标识对应的父窗口重新作为待定窗口,并返回步骤S802。
也即,第一控件单元确定当前的待定窗口返回了该待定窗口的父窗口的标识后,则将接收到的标识对应的父窗口重新作为待定窗口,并继续执行重新确定的待定窗口获取父窗口的标识,直至待定窗口未获取到父窗口的标识,或者获取到的父窗口的标识为桌面窗口的标识为止,并执行步骤S805。
继续沿用上例,第一控件单元702接收到第二控件单元703(当前的待定窗口)返回的如图7所示的窗口701的标识后,将接收到的该标识对应的窗口重新确定为待定窗口,此时,待定窗口由第二控件单元703变更为如图7所示的窗口701,因此,第一控件单元702继续指示如图7所示的窗口701获取其父窗口的标识,也即返回步骤S802。
由于如图7所示的窗口701的父窗口是桌面窗口,因此,如图7所示的窗口701返回的其父窗口的标识可能为空,也可能就是桌面窗口的标识,无论是哪种情况,第一控件单元702均会确定如图7所示的窗口701未返回其父窗口的标识,因此执行后续的步骤S805。
S805:控件单元通过自身的基类向当前确定的待定窗口调用判断过程。
继续沿用上例,当第一控件单元702确定如图7所示的窗口701未返回其父窗口的标识时,则确定当前的待定窗口(如图7所示的窗口701)为该第一控件单元701自身所在的顶层窗口,因此向当前的待定窗口调用判断过程,以判断当前鼠标的光标是否位于窗口的边框上。类似的,当操作系统发送的位置询问消息穿透了第一控件单元702到达第二控件单元703时,第二控件单元703同样通过如图8所示的方法调用判断过程,这里就不再一一赘述。
方法二、控件单元向每个窗口发送调用请求,当接收到允许调用响应时,通过自身的基类向返回该允许调用响应的窗口调用判断过程。
其中,一个窗口在接收到控件单元发送的上述调用请求后,会判断发送该调用请求的控件单元是否属于该窗口,若属于,则向控件单元返回允许调用响应,否则,返回禁止调用响应。也就是说,控件单元只能向其自身所在的窗口调用判断过程,而不能向其他窗口调用判断过程。
具体的,可通过窗口管理器管理当前所有的窗口,并将当前所有的窗口的标识保存在窗口列表中。当一个新窗口打开时,窗口管理器则将该新窗口的标识添加到窗口列表中,当关闭一个窗口时,窗口管理器则从窗口列表中移除关闭的窗口的标识。第一控件单元则可根据窗口管理器中的窗口列表,向窗口列表中每个窗口的标识对应的窗口发送调用请求,当接收到允许调用响应时,通过自身的基类向返回该允许调用响应的窗口调用判断过程。当然,也可依次向窗口列表中每个窗口的标识对应的窗口发送调用请求,直至接收到允许调用响应为止,再通过自身的基类向返回该允许调用响应的窗口调用判断过程。
在本申请实施例中,当操作系统发送的位置询问消息到达窗口时,窗口则可向操作系统返回确认信息,确认信息中可携带当前鼠标的光标所处的具体位置信息,如当前鼠标的光标所处的具体位置时窗口的左边框、右边框、上边框、下边框等,使操作系统将鼠标的光标变更为相应的可拖动状态。
以上为本申请实施例提供的信息处理方法,基于同样的思路,本申请实施例还提供一种信息处理装置,如图9所示。
图9为本申请实施例提供的信息处理装置结构示意图,具体包括:
接收模块901,用于接收操作系统发送的位置询问消息;
判断模块902,用于判断当前鼠标的光标是否位于所述装置自身所在的窗口的边框上;
透传处理模块903,用于当所述判断模块902的判断结果为是时,向所述操作系统返回透传响应消息,指示所述操作系统将所述位置询问消息发送给所述窗口处理;
默认处理模块904,用于当所述判断模块902的判断结果为否时,调用缺省窗口过程处理所述位置询问消息。
所述判断模块902具体用于,判断所述装置所在的窗口的边框到当前鼠标的光标的距离是否落入设定范围内,若是,则确定当前鼠标的光标位于所述窗口的边框上,否则,确定当前鼠标的光标不位于所述窗口的边框上。
所述判断模块902具体用于,通过自身的基类向所述窗口调用判断过程,通过调用的所述判断过程判断当前鼠标的光标是否位于所述装置所在的窗口的边框上。
所述判断模块902具体用于,获取所述装置自身的父窗口的标识,将获取到的标识对应的父窗口作为待定窗口;指示待定窗口获取该待定窗口自身的父窗口的标识,并将获取到的标识返回;将接收到的标识对应的父窗口重新作为待定窗口,并继续指示重新确定的待定窗口获取父窗口的标识,直至待定窗口未获取到父窗口的标识或者获取到的父窗口的标识为桌面窗口为止;当当前确定的待定窗口未获取到父窗口的标识或者获取到的父窗口的标识为桌面窗口的标识时,通过自身的基类向当前确定的待定窗口调用判断过程。
所述判断模块902具体用于,向每个窗口发送调用请求,当接收到允许调用响应时,通过自身的基类向返回所述允许调用响应的窗口调用判断过程,其中,一个窗口接收到所述调用请求后,如果确定所述装置属于该窗口,则返回允许调用响应,否则返回禁止调用响应。
具体的上述信息处理装置可以位于用户终端的处理器中,由处理器完成上述功能。
本申请实施例提供一种信息处理方法及装置,该方法控件单元接收到操作系统发送的位置询问消息后,如果确定当前鼠标的光标位于该控件单元所在的窗口的边框上,则向操作系统返回透传响应消息,以指示操作系统将该位置询问消息发送给窗口处理。通过上述方法,即使控件单元与窗口的实际非客户区发生重叠,位置询问消息也会穿透重叠于该实际非客户区上的控件单元而最终到达窗口,由窗口处理位置询问消息,因此可以在方便用户调整窗口大小的同时,提高窗口中的空间利用率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种信息处理方法,其特征在于,包括:
控件单元接收操作系统发送的位置询问消息;并
判断当前鼠标的光标是否位于所述控件单元所在的窗口的边框上;
若是,则所述控件单元向所述操作系统返回透传响应消息,用于指示所述操作系统将所述位置询问消息发送给所述窗口处理;
否则,所述控件单元调用缺省窗口过程处理所述位置询问消息。
2.如权利要求1所述的方法,其特征在于,判断当前鼠标的光标是否位于所述控件单元所在的窗口的边框上,具体包括:
判断所述控件单元所在的窗口的边框到当前鼠标的光标的距离是否落入设定范围内;
若是,则确定当前鼠标的光标位于所述窗口的边框上;
否则,确定当前鼠标的光标不位于所述窗口的边框上。
3.如权利要求1所述的方法,其特征在于,判断当前鼠标的光标是否位于所述控件单元所在的窗口的边框上,具体包括:
所述控件单元通过自身的基类向所述窗口调用判断过程,通过调用的所述判断过程判断当前鼠标的光标是否位于所述控件单元所在的窗口的边框上。
4.如权利要求3所述的方法,其特征在于,所述控件单元通过自身的基类向所述窗口调用判断过程,具体包括:
所述控件单元获取自身父窗口的标识,将获取到的标识对应的父窗口作为待定窗口;并
指示待定窗口获取该待定窗口自身的父窗口的标识,并将获取到的标识返回给所述控件单元;
所述控件单元将接收到的标识对应的父窗口重新作为待定窗口,并继续指示重新确定的待定窗口获取父窗口的标识,直至待定窗口未获取到父窗口的标识或者获取到的父窗口的标识为桌面窗口的标识为止;
当当前确定的待定窗口未获取到父窗口的标识或者获取到的父窗口的标识为桌面窗口的标识时,所述控件单元通过自身的基类向当前确定的待定窗口调用判断过程。
5.如权利要求3所述的方法,其特征在于,所述控件单元通过自身的基类向所述窗口调用判断过程,具体包括:
所述控件单元向每个窗口发送调用请求;并
当接收到允许调用响应时,所述控件单元通过自身的基类向返回所述允许调用响应的窗口调用判断过程,其中,一个窗口接收到所述调用请求后,如果确定所述控件单元属于该窗口,则向所述控件单元返回允许调用响应,否则返回禁止调用响应。
6.如权利要求1所述的方法,其特征在于,所述控件单元包括第一控件单元和第二控件单元,其中,所述第二控件单元位于所述第一控件单元的下层;
所述控件单元向所述操作系统返回透传响应消息,用于指示所述操作系统将所述位置询问消息发送给所述窗口处理,具体包括:
所述第一控件单元向所述操作系统返回透传响应消息,用于指示所述操作系统将所述位置询问消息发送给所述第二控件单元进行处理,直至所述操作系统将所述位置询问消息发送给所述窗口处理为止。
7.一种信息处理装置,其特征在于,包括:
接收模块,用于接收操作系统发送的位置询问消息;
判断模块,用于判断当前鼠标的光标是否位于所述装置自身所在的窗口的边框上;
透传处理模块,用于当所述判断模块的判断结果为是时,向所述操作系统返回透传响应消息,指示所述操作系统将所述位置询问消息发送给所述窗口处理;
默认处理模块,用于当所述判断模块的判断结果为否时,调用缺省窗口过程处理所述位置询问消息。
8.如权利要求7所述的装置,其特征在于,所述判断模块具体用于,判断所述装置所在的窗口的边框到当前鼠标的光标的距离是否落入设定范围内,若是,则确定当前鼠标的光标位于所述窗口的边框上,否则,确定当前鼠标的光标不位于所述窗口的边框上。
9.如权利要求7所述的装置,其特征在于,所述判断模块具体用于,通过自身的基类向所述窗口调用判断过程,通过调用的所述判断过程判断当前鼠标的光标是否位于所述装置所在的窗口的边框上。
10.如权利要求9所述的装置,其特征在于,所述判断模块具体用于,获取所述装置自身的父窗口的标识,将获取到的标识对应的父窗口作为待定窗口;指示待定窗口获取该待定窗口自身的父窗口的标识,并将获取到的标识返回;将接收到的标识对应的父窗口重新作为待定窗口,并继续指示重新确定的待定窗口获取父窗口的标识,直至待定窗口未获取到父窗口的标识或者获取到的父窗口的标识为桌面窗口为止;当当前确定的待定窗口未获取到父窗口的标识或者获取到的父窗口的标识为桌面窗口的标识时,通过自身的基类向当前确定的待定窗口调用判断过程。
11.如权利要求9所述的装置,其特征在于,所述判断模块具体用于,向每个窗口发送调用请求,当接收到允许调用响应时,通过自身的基类向返回所述允许调用响应的窗口调用判断过程,其中,一个窗口接收到所述调用请求后,如果确定所述装置属于该窗口,则返回允许调用响应,否则返回禁止调用响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310121330.1A CN104102367B (zh) | 2013-04-09 | 2013-04-09 | 一种信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310121330.1A CN104102367B (zh) | 2013-04-09 | 2013-04-09 | 一种信息处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104102367A CN104102367A (zh) | 2014-10-15 |
CN104102367B true CN104102367B (zh) | 2017-06-06 |
Family
ID=51670566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310121330.1A Active CN104102367B (zh) | 2013-04-09 | 2013-04-09 | 一种信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102367B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936816B (zh) * | 2017-02-15 | 2020-09-01 | 海尔优家智能科技(北京)有限公司 | 一种查询定位的方法和系统 |
CN107423050A (zh) * | 2017-04-28 | 2017-12-01 | 广州酷狗计算机科技有限公司 | 一种穿透操作的方法和装置 |
CN108319414A (zh) * | 2018-01-31 | 2018-07-24 | 北京小米移动软件有限公司 | 界面显示方法及装置 |
CN108304242A (zh) * | 2018-02-05 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 实现鼠标事件穿透的方法、相关存储介质、设备和装置 |
CN112711365B (zh) * | 2020-12-30 | 2023-08-25 | 航天信息股份有限公司 | 一种用于列表控件勾选事件传递的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59133634A (ja) * | 1983-01-20 | 1984-08-01 | Canon Inc | カ−ソル位置移動制御方式 |
JPS605327A (ja) * | 1983-06-23 | 1985-01-11 | Meidensha Electric Mfg Co Ltd | ライトペンによる位置指定方式 |
CN101221501A (zh) * | 2008-01-09 | 2008-07-16 | 金蝶软件(中国)有限公司 | 一种浏览器的文件上传控件的生成方法及生成装置 |
CN101702126A (zh) * | 2009-12-04 | 2010-05-05 | 金蝶软件(中国)有限公司 | 一种图形界面编辑方法及装置 |
CN102214087A (zh) * | 2010-04-02 | 2011-10-12 | 上海卡尼信息科技有限公司 | 基于Web浏览器的智能数字出版商务平台组件开发方法 |
CN102254049A (zh) * | 2011-08-29 | 2011-11-23 | 程向明 | 一种Web页设计系统及其构建方法 |
CN103309555A (zh) * | 2012-10-31 | 2013-09-18 | 中兴通讯股份有限公司 | 基于多窗口的焦点切换的方法及装置 |
-
2013
- 2013-04-09 CN CN201310121330.1A patent/CN104102367B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59133634A (ja) * | 1983-01-20 | 1984-08-01 | Canon Inc | カ−ソル位置移動制御方式 |
JPS605327A (ja) * | 1983-06-23 | 1985-01-11 | Meidensha Electric Mfg Co Ltd | ライトペンによる位置指定方式 |
CN101221501A (zh) * | 2008-01-09 | 2008-07-16 | 金蝶软件(中国)有限公司 | 一种浏览器的文件上传控件的生成方法及生成装置 |
CN101702126A (zh) * | 2009-12-04 | 2010-05-05 | 金蝶软件(中国)有限公司 | 一种图形界面编辑方法及装置 |
CN102214087A (zh) * | 2010-04-02 | 2011-10-12 | 上海卡尼信息科技有限公司 | 基于Web浏览器的智能数字出版商务平台组件开发方法 |
CN102254049A (zh) * | 2011-08-29 | 2011-11-23 | 程向明 | 一种Web页设计系统及其构建方法 |
CN103309555A (zh) * | 2012-10-31 | 2013-09-18 | 中兴通讯股份有限公司 | 基于多窗口的焦点切换的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104102367A (zh) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109164964B (zh) | 内容分享方法、装置、终端及存储介质 | |
US20190391732A1 (en) | Method, Apparatus, and Terminal for Processing Notification Information | |
CN106933328B (zh) | 一种移动终端帧率的控制方法、装置及移动终端 | |
CN105487742B (zh) | 多应用窗口的显示方法和装置 | |
CN104102367B (zh) | 一种信息处理方法及装置 | |
CN105988860B (zh) | 执行应用程序的方法及移动装置 | |
US11825177B2 (en) | Methods, systems, and media for presenting interactive elements within video content | |
KR20170005602A (ko) | 증강현실 및 가상현실의 통합적 제공 방법 및 이를 사용하는 전자 장치 | |
CN108829314B (zh) | 截图选区界面选择方法、装置、设备及存储介质 | |
CN106201409A (zh) | 一种应用程序操作界面的处理方法及系统 | |
US11138956B2 (en) | Method for controlling display of terminal, storage medium, and electronic device | |
CN110045890B (zh) | 应用标识的显示方法及终端设备 | |
US20150121301A1 (en) | Information processing method and electronic device | |
CN112698905B (zh) | 一种屏保显示方法、显示设备、终端设备及服务器 | |
US20200341616A1 (en) | Method and apparatus for controlling application icon and storage medium | |
CN112073301B (zh) | 删除聊天群组成员的方法、设备及计算机可读介质 | |
US20230269418A1 (en) | Video display method, apparatus and storage medium | |
CN111752451A (zh) | 信息显示方法、装置和电子设备 | |
US20210326010A1 (en) | Methods, systems, and media for navigating user interfaces | |
US11861157B2 (en) | Methods, systems, and media for presenting offset content | |
KR101495802B1 (ko) | 어플리케이션 실행 장치 및 방법 | |
US10613622B2 (en) | Method and device for controlling virtual reality helmets | |
CN112363787A (zh) | 图像处理方法、装置和电子设备 | |
CN112148409A (zh) | 一种窗口的图像效果实现方法、装置及存储介质 | |
CN112181264A (zh) | 一种手势识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |