CN106484212B - 一种实现多个窗口同步移动的方法和装置 - Google Patents

一种实现多个窗口同步移动的方法和装置 Download PDF

Info

Publication number
CN106484212B
CN106484212B CN201510541848.XA CN201510541848A CN106484212B CN 106484212 B CN106484212 B CN 106484212B CN 201510541848 A CN201510541848 A CN 201510541848A CN 106484212 B CN106484212 B CN 106484212B
Authority
CN
China
Prior art keywords
window
host
follow
synchronizing moving
parameter
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
Application number
CN201510541848.XA
Other languages
English (en)
Other versions
CN106484212A (zh
Inventor
李波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201510541848.XA priority Critical patent/CN106484212B/zh
Publication of CN106484212A publication Critical patent/CN106484212A/zh
Application granted granted Critical
Publication of CN106484212B publication Critical patent/CN106484212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种实现多个窗口同步移动的方法和装置。所述方法包括:在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;判断所述宿主窗口的跟随窗口列表中的跟随窗口数量是否为0,所述跟随列表中包括每个跟随窗口对应的跟随参数;如果不为0,则改变窗口正在改变的消息的参数,阻止宿主窗口本次的位置改变;开启多窗口同步移动操作,根据计算出的宿主窗口的新位置和跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。本发明克服了现有多窗口移动方案中窗口之间移动存在时间差的问题,能够使所有窗口同时更新位置。

Description

一种实现多个窗口同步移动的方法和装置
技术领域
本发明涉及Windows平台下界面开发技术领域,尤其涉及一种实现多个窗口同步移动的方法和装置。
背景技术
在客户端界面程序中,经常需要处理多个弹出式窗口之间跟随移动的场景,比如鼠标拖动主界面窗口时,主界面上弹出的一个气泡提示窗口也需要跟着主界面窗口一起移动,保证气泡总是指向主界面窗口上的同一位置。
目前实现窗口跟随的一般有下面这两种方式:
宿主窗口响应位置改变事件:在宿主窗口中,响应自己的位置改变、大小改变事件,修改跟随窗口的位置和大小。这种实现方式不能通用,如果存在多个宿主窗口,则需要在每一个宿主窗口中添加相应的代码逻辑。该方法是在得到宿主窗口的移动事件后,再让跟随窗口进行跟随移动的。因此宿主窗口的移动和跟随窗口的移动之间存在一些的时间差,导致两者之间的移动不同步。
使用Hook拦截宿主窗口的位置改变事件:通过Windows Hook技术,拦截宿主窗口的位置改变事件,将这个事件通知给所有的跟随窗口,由跟随窗口完成自己的跟随移动逻辑。由于涉及到Hook,使得该方式比较复杂,容易出错,性能上也比单独处理宿主窗口消息的方式低,并且依然存在窗口之间的跟随不同步的问题。
发明内容
本发明提供了一种实现多个窗口同步移动的方法和装置,以克服上述方法的不足,实现多个窗口没有时间差的同步移动。
依据本发明的一个方面,本发明提供了一种实现多个窗口同步移动的方法,该方法包括:
在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;
判断所述宿主窗口的跟随窗口列表中的跟随窗口数量是否为0,所述跟随窗口列表中包括每个跟随窗口对应的跟随参数;
如果不为0,则改变所述窗口正在改变的消息的参数,阻止所述宿主窗口本次的位置改变;
根据所述宿主窗口的新位置参数计算所述宿主窗口的新位置和根据所述跟随窗口列表中每个跟随窗口的跟随参数计算所述每个跟随窗口的新位置;
开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。
其中,所述方法还包括:判断所述宿主窗口的跟随窗口列表中的跟随窗口数量如果为0,则进行所述宿主窗口本次的位置改变。
其中,所述在宿主窗口移动或改变大小之前,所述方法还包括:
所述宿主窗口接收跟随窗口发送的注册消息,所述注册消息中携带所述跟随窗口的跟随参数;
所述宿主窗口将所述跟随窗口添加到跟随窗口列表中,并保存该跟随窗口的跟随参数。
其中,所述改变所述窗口正在改变的消息的参数,阻止所述宿主窗口本次的位置改变包括:
在所述窗口正在改变的消息中强制添加两个参数,一个为表示拒绝宿主窗口本次的位置修改的参数,另一个为表示拒绝宿主窗口本次的大小修改的参数,通过该两个参数阻止所述宿主窗口本次的位置改变。
其中,所述宿主窗口开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动包括:
所述宿主窗口计算出自己即将移动到的新位置,并计算出所述跟随窗口列表中的跟随窗口数量,开启多窗口同步移动操作;
遍历所述跟随窗口列表,计算每个跟随窗口的新位置,将每个跟随窗口和所述宿主窗口加入到所述多窗口同步移动操作中;
所述宿主窗口计算出自己最终移动到的新位置,完成所有窗口的同步移动操作。
依据本发明的另一方面,本发明提供了一种实现多个窗口同步移动的装置,该装置包括:
消息接收单元,用于在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;
跟随窗口数量判断单元,用于判断所述宿主窗口的跟随窗口列表中的跟随窗口数量是否为0,所述跟随窗口列表中包括每个跟随窗口对应的跟随参数;;
移动处理单元,用于在跟随窗口数量不为0时,则改变所述窗口正在改变的消息的参数,阻止所述宿主窗口本次的位置改变;
多窗口同步移动单元,用于根据所述宿主窗口的新位置参数计算所述宿主窗口的新位置和根据所述跟随窗口列表中每个跟随窗口的跟随参数计算所述每个跟随窗口的新位置;以及开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。
其中,所述移动处理单元,还用于在跟随窗口数量为0时,进行所述宿主窗口本次的位置改变。
其中,所述装置还包括:
跟随窗口注册单元,用于所述宿主窗口接收跟随窗口发送的注册消息,所述注册消息中携带所述跟随窗口的跟随参数;所述宿主窗口将所述跟随窗口添加到跟随窗口列表中,并保存该跟随窗口的跟随参数。
其中,所述移动处理单元具体用于,在所述窗口正在改变的消息中强制添加两个参数,一个为表示拒绝宿主窗口本次的位置修改的参数,另一个为表示拒绝宿主窗口本次的大小修改的参数,通过该两个参数阻止所述宿主窗口本次的位置改变。
其中,所述多窗口同步移动单元包括:
同步移动开启模块,用于所述宿主窗口计算出自己即将移动到的新位置,并计算出所述跟随窗口列表中的跟随窗口数量,开启多窗口同步移动操作;
同步移动操作模块,用于遍历所述跟随窗口列表,计算每个跟随窗口的新位置,将每个跟随窗口和所述宿主窗口加入到所述多窗口同步移动操作中;
同步移动结束模块,用于所述宿主窗口计算出自己最终移动到的新位置,完成所有窗口的同步移动操作。
本发明实施例的有益效果是:本发明提供的实现多个窗口同步移动的方法和装置,当宿主窗口收到窗口正在改变的消息时,通过判断其跟随窗口列表中的跟随窗口数量是否为0判定本次是单个窗口的移动还是多个窗口的移动,若是多个窗口的移动,因为需要实现多个窗口的同步移动,所以不能让宿主窗口单独先完成或后完成自己的移动,则通过修改该窗口正在改变的消息的参数来阻止宿主窗口本次的位置改变;之后由宿主窗口开启多窗口同步移动操作,根据计算出的宿主窗口的新位置和跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动,由于该同步移动是将所有的窗口统一同时更新位置,所以不存在时间差,由此解决了现有技术中窗口之间的跟随不同步的问题。
附图说明
图1为本发明提供的一种实现多个窗口同步移动的方法流程图;
图2是本发明提供的实现多个窗口同步移动的方法的一个具体流程图;
图3是本发明提供的实现多个窗口同步移动的装置的结构示意图;
图4是本发明提供的实现多个窗口同步移动的装置中所述多窗口同步移动单元的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明提供了一种实现多个窗口同步移动的方法和装置,以克服现有多窗口移动方案中各窗口之间移动存在时间差的问题,能够实现所有窗口的同步移动。
本发明的整体思路是:要实现多个窗口的同步移动,则应该将这些窗口作为一个整体进行移动,而不能在宿主窗口移动后,再依次移动各个跟随窗口。在Windows操作系统中,一个窗口位置改变的过程会触发以下一些消息:
WM_MOVING窗口正在移动
WM_SIZING窗口正在改变大小
WM_WINDOWPOSCHANGING窗口正在移动/改变大小
WM_WINDOWPOSCHANGED窗口已移动/改变大小
WM_MOVE窗口已移动
WM_SIZE窗口已改变大小。
其中,WM_MOVING消息在窗口移动时触发,WM_SIZING消息在窗口改变大小时触发,WM_MOVE消息与WM_SIZE消息在窗口已经移动/改变大小后触发,而WM_WINDOWPOSCHANGED消息是在窗口移动/改变大小后触发,因此WM_WINDOWPOSCHANGING消息最适合用于窗口同步移动。
在窗口正在移动/改变大小WM_WINDOWPOSCHANGING消息中,通过修改其参数可以阻止窗口的本次调整。暂时阻止宿主窗口的本次改变之后,再由宿主窗口调用DeferWindowPos系列API的方法实现拖动一个窗口,多个窗口同步移动,完成宿主窗口和跟随窗口的同步移动。
图1为本发明提供的一种实现多个窗口同步移动的方法流程图。
步骤S10:在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;
步骤S20:判断所述宿主窗口的跟随窗口列表中的跟随窗口数量是否为0,所述跟随窗口列表中包括每个跟随窗口对应的跟随参数;
步骤S30:如果不为0,则改变所述窗口正在改变的消息的参数,阻止所述宿主窗口本次的位置改变;
步骤S40:根据所述宿主窗口的新位置参数计算所述宿主窗口的新位置和根据所述跟随窗口列表中每个跟随窗口的跟随参数计算所述每个跟随窗口的新位置;
步骤S50:开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。
本发明提供的实现多个窗口同步移动的方法,当宿主窗口收到窗口正在改变的消息时,通过判断其跟随窗口列表中的跟随窗口数量是否为0判定本次是单个窗口的移动还是多个窗口的移动,若是多个窗口的移动,因为需要实现多个窗口的同步移动,所以不能让宿主窗口单独先完成或后完成自己的移动,则通过修改该窗口正在改变的消息的参数来阻止宿主窗口本次的位置改变;之后由宿主窗口开启多窗口同步移动操作,根据计算出的宿主窗口的新位置和跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动,由于该同步移动是将所有的窗口统一同时更新位置,所以不存在时间差,由此解决了现有技术中窗口之间的跟随不同步的问题。
图2是本发明提供的实现多个窗口同步移动的方法的一个具体流程图。参见图2,该方法包括:
步骤S101:宿主窗口初始化。
步骤S102:跟随窗口计算出自己的跟随参数之后,向所述宿主窗口发送注册消息进行注册,所述宿主窗口将所述跟随窗口添加到跟随窗口列表中,保存其跟随参数,并根据这些参数来调整该跟随窗口的位置与大小。
跟随参数主要用于标识跟随窗口在宿主窗口上的位置,包括:左对齐、右对齐、上对齐、下对齐、跟随窗口的宽度、跟随窗口的高度等。例如一个窗口上的气泡跟随参数可以设置为:(右对齐20px,上对齐20px,宽度200px,高度50px),表示该气泡的位置总是位于距离窗口右侧20像素,距离窗口顶部20像素的地方,并且该气泡的大小固定为200像素宽,50像素高。
步骤S103:用鼠标拖动窗口,移动所述宿主窗口或改变所述宿主窗口大小。
步骤S104:所述宿主窗口收到窗口正在改变的消息:窗口正在改变的消息为WM_WINDOWPOSCHANGING,在该消息中包括宿主窗口的新位置参数。
步骤S105:判断跟随窗口列表数量,如果为0,判断没有跟随窗口则转到步骤S100,对WM_WINDOWPOSCHANGING消息不处理,交由系统继续完成本次宿主窗口的位置改变,之后结束操作;如果不为0,判断有跟随窗口则执行步骤S106。
步骤S106:所述宿主窗口从收到的WM_WINDOWPOSCHANGING消息中计算出自己即将移动到的新位置。
步骤S107:所述宿主窗口为所述WM_WINDOWPOSCHANGING消息强制添加两个参数:SWP_NOMOVE、SWP_NOSIZE,其中SWP_NOMOVE表示拒绝窗口本次的位置修改,SWP_NOSIZE表示拒绝窗口本次的大小修改,以阻止所述宿主窗口本次的位置改变。之后执行步骤S108。
在Windows操作系统中,修改窗口位置或大小的方法主要包含:
MoveWndow、SetWindowPos、
BeginDeferWindowPos/DeferWindowPos/EndDefWindowPos等。
MoveWindow和SetWindowPos主要是针对单个窗口的调整,而DeferWindowPos系列函数则是针对一组窗口的调整,即批量调整。本发明使用的就是DeferWindowPos系列函数来达到宿主窗口和所有跟随窗口同步移动。
步骤S108:所述宿主窗口开启多窗口同步移动操作,计算出所述跟随窗口列表中的跟随窗口数量,记为count,调用BeginDeferWindowPos(count+1),表明将有count+1个窗口将要调整位置,+1表示宿主窗口也同步移动。之后执行步骤S109。
步骤S109:所述宿主窗口遍历跟随窗口列表,判断所述跟随窗口列表中是否有未被读取的跟随窗口记录,若是,则读取该条记录,并执行步骤S110;否则,执行步骤S112。
步骤S110:根据所述宿主窗口的新位置和该跟随窗口的跟随参数,计算出该跟随窗口的新位置。
步骤S111:为该跟随窗口调用DeferWindowPos,将该跟随窗口加入到所述多窗口同步移动操作中;并返回步骤S109继续读取下一条跟随窗口记录。
步骤S112:所述宿主窗口调用DeferWindowPos,将自己也加入到所述多窗口同步移动操作中。
步骤S113:所述宿主窗口从收到的WM_WINDOWPOSCHANGED消息计算出自己最终移动到的新位置,调用EndDeferWindowPos,完成所有窗口的同步移动操作。
至此就完成了所有跟随窗口对宿主窗口的同步移动。
图3是本发明提供的实现多个窗口同步移动的装置的结构示意图;图4是本发明提供的实现多个窗口同步移动的装置中所述多窗口同步移动单元的结构示意图。参见图3、图4,该装置包括:
消息接收单元200,用于在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;
跟随窗口数量判断单元210,用于判断所述宿主窗口的跟随窗口列表中跟随窗口数量是否为0,所述跟随窗口列表中包括每个跟随窗口对应的跟随参数;
移动处理单元220,用于在在跟随窗口数量不为0时,改变所述窗口正在改变的消息的参数,以阻止所述宿主窗口本次的位置改变;
多窗口同步移动单元230,用于根据所述宿主窗口的新位置参数计算所述宿主窗口的新位置和根据所述跟随窗口列表中每个跟随窗口的跟随参数计算所述每个跟随窗口的新位置;以及开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。
其中,所述移动处理单元220,还用于在跟随窗口数量为0时,进行所述宿主窗口本次的位置改变。
其中,所述装置还包括:
跟随窗口注册单元240,用于所述宿主窗口接收跟随窗口发送的注册消息,所述注册消息中携带所述跟随窗口的跟随参数;所述宿主窗口将所述跟随窗口添加到跟随窗口列表中,并保存该跟随窗口的跟随参数。
所述宿主窗口根据跟随窗口的跟随参数调整该跟随窗口的位置与大小。
其中,所述移动处理单元220具体用于,所述窗口正在改变的消息为WM_WINDOWPOSCHANGING消息,在跟随窗口数量不为0时,所述宿主窗口为所述WM_WINDOWPOSCHANGING消息强制添加两个标记:SWP_NOMOVE、SWP_NOSIZE,其中SWP_NOMOVE表示拒绝宿主窗口本次的位置修改,SWP_NOSIZE表示拒绝宿主窗口本次的大小修改,以阻止所述宿主窗口本次的位置改变。
其中,参见图4,所述多窗口同步移动单元230包括:
同步移动开启模块300,用于所述宿主窗口计算出自己即将移动到的新位置,并计算出所述跟随窗口列表中的跟随窗口数量,记为count,调用BeginDeferWindowPos(count+1),开启多窗口同步移动操作;
同步移动操作模块310,用于所述宿主窗口遍历所述跟随窗口列表,根据所述宿主窗口的新位置和每个跟随窗口的跟随参数,计算出该跟随窗口的新位置,为该跟随窗口调用DeferWindowPos,将该跟随窗口加入到所述多窗口同步移动操作中;所述宿主窗口调用DeferWindowPos,将自己也加入到所述多窗口同步移动操作中;
同步移动结束模块320,用于所述宿主窗口计算出自己最终移动到的新位置,调用EndDeferWindowPos,完成所有窗口的同步移动操作。
其中,所述宿主窗口从收到的WM_WINDOWPOSCHANGING消息中计算出自己即将移动到的新位置,从收到的WM_WINDOWPOSCHANGED消息计算出自己最终移动到的新位置。
综上所述,本发明提供的一种实现多个窗口同步移动的方法和装置,当宿主窗口收到窗口正在改变的消息时,通过判断跟随窗口列表中的跟随窗口数量是否为0判定本次是单个窗口的移动还是多个窗口的移动,若是多个窗口的移动,因为需要实现多个窗口的同步移动,所以不能让宿主窗口单独先完成或后完成自己的移动,则通过修改该窗口正在改变的消息的参数来阻止宿主窗口本次的位置改变;之后由宿主窗口开启多窗口同步移动操作,根据计算出的宿主窗口的新位置和跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动,由于该同步移动是将所有的窗口统一同时更新位置,所以不存在时间差,由此解决了现有技术中窗口之间的跟随不同步的问题。
本发明实施例首先通过修改WM_WINDOWPOSCHANGING的参数,阻止宿主窗口的位置改变,之后通过DeferWindowPos系列API实现拖动一个窗口,多个窗口的同步移动的效果,解决了时间差的问题,实现了所有窗口同时更新位置。可以预期的是,通过扩展跟随参数、监听宿主窗口或跟随窗口的位置移动范围可以实现更复杂的跟随逻辑,例如跟随窗口在某些情况下禁止跟随、窗口磁性吸附、磁性分离等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种实现多个窗口同步移动的方法,其特征在于,所述方法包括:
在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;
判断所述宿主窗口的跟随窗口列表中的跟随窗口数量是否为0,所述跟随窗口列表中包括每个跟随窗口对应的跟随参数;
如果不为0,则为所述窗口正在改变的消息添加新的参数,阻止所述宿主窗口本次的位置改变;
根据所述宿主窗口的新位置参数计算所述宿主窗口的新位置和根据所述跟随窗口列表中每个跟随窗口的跟随参数计算所述每个跟随窗口的新位置;
开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:判断所述宿主窗口的跟随窗口列表中的跟随窗口数量如果为0,则进行所述宿主窗口本次的位置改变。
3.根据权利要求1所述的方法,其特征在于,所述在宿主窗口移动或改变大小之前,所述方法还包括:
所述宿主窗口接收跟随窗口发送的注册消息,所述注册消息中携带所述跟随窗口的跟随参数;
所述宿主窗口将所述跟随窗口添加到跟随窗口列表中,并保存该跟随窗口的跟随参数。
4.根据权利要求1所述的方法,其特征在于,所述改变所述窗口正在改变的消息的参数,阻止所述宿主窗口本次的位置改变包括:
在所述窗口正在改变的消息中强制添加两个参数,一个为表示拒绝宿主窗口本次的位置修改的参数,另一个为表示拒绝宿主窗口本次的大小修改的参数,通过该两个参数阻止所述宿主窗口本次的位置改变。
5.根据权利要求1所述的方法,其特征在于,所述开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动包括:
所述宿主窗口计算出自己即将移动到的新位置,并计算出所述跟随窗口列表中的跟随窗口数量,开启多窗口同步移动操作;
遍历所述跟随窗口列表,计算每个跟随窗口的新位置,将每个跟随窗口和所述宿主窗口加入到所述多窗口同步移动操作中;
所述宿主窗口计算出自己最终移动到的新位置,完成所有窗口的同步移动操作。
6.一种实现多个窗口同步移动的装置,其特征在于,所述装置包括:
消息接收单元,用于在宿主窗口移动或改变大小时,宿主窗口收到窗口正在改变的消息,所述消息中包括宿主窗口的新位置参数;
跟随窗口数量判断单元,用于判断所述宿主窗口的跟随窗口列表中的跟随窗口数量是否为0,所述跟随窗口列表中包括每个跟随窗口对应的跟随参数;
移动处理单元,用于在跟随窗口数量不为0时,为所述窗口正在改变的消息添加新的参数,阻止所述宿主窗口本次的位置改变;
多窗口同步移动单元,用于根据所述宿主窗口的新位置参数计算所述宿主窗口的新位置和根据所述跟随窗口列表中每个跟随窗口的跟随参数计算所述每个跟随窗口的新位置;以及开启多窗口同步移动操作,根据计算出的所述宿主窗口的新位置和所述跟随窗口列表中每个跟随窗口的新位置,完成所有窗口的同步移动。
7.根据权利要求6所述的装置,其特征在于,
所述移动处理单元,还用于在跟随窗口数量为0时,进行所述宿主窗口本次的位置改变。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
跟随窗口注册单元,用于所述宿主窗口接收跟随窗口发送的注册消息,所述注册消息中携带所述跟随窗口的跟随参数;将所述跟随窗口添加到跟随窗口列表中,并保存该跟随窗口的跟随参数。
9.根据权利要求6所述的装置,其特征在于,所述移动处理单元具体用于,在所述窗口正在改变的消息中强制添加两个参数,一个为表示拒绝宿主窗口本次的位置修改的参数,另一个为表示拒绝宿主窗口本次的大小修改的参数,通过该两个参数阻止所述宿主窗口本次的位置改变。
10.根据权利要求6所述的装置,其特征在于,所述多窗口同步移动单元包括:
同步移动开启模块,用于所述宿主窗口计算出自己即将移动到的新位置,并计算出所述跟随窗口列表中的跟随窗口数量,开启多窗口同步移动操作;
同步移动操作模块,用于遍历所述跟随窗口列表,计算每个跟随窗口的新位置,将每个跟随窗口和所述宿主窗口加入到所述多窗口同步移动操作中;
同步移动结束模块,用于所述宿主窗口计算出自己最终移动到的新位置,完成所有窗口的同步移动操作。
CN201510541848.XA 2015-08-28 2015-08-28 一种实现多个窗口同步移动的方法和装置 Active CN106484212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510541848.XA CN106484212B (zh) 2015-08-28 2015-08-28 一种实现多个窗口同步移动的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510541848.XA CN106484212B (zh) 2015-08-28 2015-08-28 一种实现多个窗口同步移动的方法和装置

Publications (2)

Publication Number Publication Date
CN106484212A CN106484212A (zh) 2017-03-08
CN106484212B true CN106484212B (zh) 2019-08-20

Family

ID=58235016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510541848.XA Active CN106484212B (zh) 2015-08-28 2015-08-28 一种实现多个窗口同步移动的方法和装置

Country Status (1)

Country Link
CN (1) CN106484212B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107340955B (zh) * 2017-07-07 2020-09-25 阿里巴巴(中国)有限公司 获取视图在屏幕上的位置变化后的位置信息的方法和装置
CN111930544A (zh) * 2020-09-27 2020-11-13 广州易方信息科技股份有限公司 一种跨im工具协作方法、装置、系统以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071370A (zh) * 2006-05-11 2007-11-14 明基电通股份有限公司 图形用户界面及其建立方法
CN101354628A (zh) * 2007-07-24 2009-01-28 株式会社Ntt都科摩 信息处理设备及程序
CN103902325A (zh) * 2012-12-28 2014-07-02 北京新媒传信科技有限公司 实现窗口同步的方法和装置
US8838095B2 (en) * 2011-09-27 2014-09-16 Z124 Data path selection
CN104331236A (zh) * 2014-09-30 2015-02-04 珠海市君天电子科技有限公司 一种多个窗口的绑定拖动方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102016975B1 (ko) * 2012-07-27 2019-09-02 삼성전자주식회사 디스플레이 장치 및 그 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071370A (zh) * 2006-05-11 2007-11-14 明基电通股份有限公司 图形用户界面及其建立方法
CN101354628A (zh) * 2007-07-24 2009-01-28 株式会社Ntt都科摩 信息处理设备及程序
US8838095B2 (en) * 2011-09-27 2014-09-16 Z124 Data path selection
CN103902325A (zh) * 2012-12-28 2014-07-02 北京新媒传信科技有限公司 实现窗口同步的方法和装置
CN104331236A (zh) * 2014-09-30 2015-02-04 珠海市君天电子科技有限公司 一种多个窗口的绑定拖动方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于嵌入式移动终端人机交互界面的研究与实现;刘石;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20070615(第06期);全文

Also Published As

Publication number Publication date
CN106484212A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
CN106484212B (zh) 一种实现多个窗口同步移动的方法和装置
CN103379528B (zh) 单板自适应参数配置方法、bbu、基站及基站子系统bss
CN106807087B (zh) 一种应用中模拟对象处理的方法以及移动终端
CN103970538B (zh) 一种Android焦点变换方法及系统
CN110166519B (zh) 信息同步的方法、客户端、服务器、终端设备与存储介质
CN107861670A (zh) 双屏终端的交互显示方法、双屏终端和计算机存储介质
CN102750090A (zh) 一种在触摸屏设备处于锁屏状态下的滑动解锁方法
CN107861854A (zh) 一种终端本地崩溃处理方法、终端及计算机可读存储介质
CN104536641A (zh) 移动终端及其屏幕操作方法
CN109976609A (zh) 滑动操作响应方法、可穿戴设备以及计算机可读存储介质
CN110286899A (zh) 应用程序显示界面的编辑方法及装置、存储介质
CN107465807A (zh) 一种短信显示方法及终端
CN102331927A (zh) Wine与安卓手机软键盘输入的整合方法
CN109582565A (zh) 防止应用崩溃的方法、终端及计算机存储介质
CN105320480A (zh) 屏幕播送方法以及使用该方法的系统与装置
CN108921859A (zh) 图片处理方法、程序和计算机可读储存介质
CN102364434A (zh) 一种整合Wine与Android鼠标输入的方法
JP6430589B1 (ja) エレベータの呼び登録装置およびエレベータの呼び登録画面表示方法
CN103902325B (zh) 实现窗口同步的方法和装置
CN109045689A (zh) 游戏操控方法、移动终端及计算机可读存储介质
CN109032711A (zh) 一种截图方法、终端及计算机可读存储介质
CN110096194B (zh) 终端解锁控制方法、装置、移动终端及可读存储介质
CN103596025B (zh) 视频聊天的画面调整方法、装置及相应的视频终端
CN110096173A (zh) 移动终端控制方法、移动终端及计算机可读存储介质
CN108108221A (zh) 一种指定操作切换实时数据显示的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.