CN111736789A - 一种扩展显示屏控制器及扩展显示屏操控方法 - Google Patents
一种扩展显示屏控制器及扩展显示屏操控方法 Download PDFInfo
- Publication number
- CN111736789A CN111736789A CN202010754662.3A CN202010754662A CN111736789A CN 111736789 A CN111736789 A CN 111736789A CN 202010754662 A CN202010754662 A CN 202010754662A CN 111736789 A CN111736789 A CN 111736789A
- Authority
- CN
- China
- Prior art keywords
- screen
- extended
- display screen
- window
- cursor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及电脑屏幕显示信号的多屏显示及控制技术,其公开了一种扩展显示屏控制器及扩展显示屏操控方法,解决传统基于同一PC扩展显示模式的多屏显示方案存在的操作繁琐、操作效率低的问题。本发明中所述扩展显示屏控制器包括:扩展屏控制窗口模块,用于在主屏的桌面上创建和运行扩展屏控制窗口,在扩展屏控制窗口中实时同步显示扩展显示屏的内容,并提供对扩展显示屏的内容的操控功能;光标切换模块,用于操控电脑光标在主屏和扩展显示屏之间进行平滑切换;拖拽控制模块,用于在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示。本发明适用于多媒体教学、办公会议、培训演讲等应用场景。
Description
技术领域
本发明涉及电脑屏幕显示信号的多屏显示及控制技术,具体涉及一种扩展显示屏控制器及扩展显示屏操控方法,适用于多媒体教学、办公会议、培训演讲等应用场景。
背景技术
在多媒体教学、办公会议、培训演讲等场合,大多采用一个大屏幕向学习者展示讲授的内容,但讲授过程中往往需要同步展示多个内容,单一大屏幕显示需要在不同的任务窗口或界面上来回切换,操作繁琐,而且不能实时对比观察,因此,人们使用双大屏幕或多个大屏幕显示方案来满足多任务同步展示的需求。例如:在课堂教学过程中,一个大屏幕用于播放实验操作步骤的PPT课件,第二大屏幕用于实时展示实验操作的视频画面、电子书写批注等。又如:在实时远程教学的时候,在一个大屏幕上显示远程老师授课画面,而本地老师可以在第二大屏幕上进行实时电子板书、讲解内容、辅导答疑等。
以上方案均在同一电脑主机模式下采用两个或多个屏幕显示,将电脑主机的显示模式设置为“扩展”显示模式,一个大屏幕作为主屏,其余大屏幕作为扩展屏,如此能够有效的解决人们对多屏显示的需求,很好的将相互关联的信息同步展示、对比展示、逻辑关联展示等,有效的提高信息传达效率和提供日常的工作效率。然而,其存在操作不便的缺陷,以双大屏显示为例,说明如下:
(1)采用双大屏幕扩展显示模式时,用户通常需要将电脑默认输出的主屏窗口内容移动到扩展屏幕进行浏览、展示,与主屏幕形成参考、对比操作等。用户在此模式下使用时往往容易出现方位混乱、不知鼠标定位、主副屏方位难分的现象;另外在两个屏幕中反复转移窗口内容、最大化、最小化、关闭等操作,容易在屏幕中迷航。
(2)对于教学中的双大屏幕扩展显示模式,主屏幕通常用于内容讲解和书写,扩展屏幕通常用于播放、展示辅助教学内容等,老师需要将主屏窗口拖拽到扩展屏中去显示,往往还需要点击全屏显示,这需要经历打开显示对象、拖拽到扩展屏中、全屏显示等繁琐操作步骤。
可见,目前的基于同一PC扩展显示模式的多屏显示方案还存在操作繁琐、操作效率低的问题。
发明内容
本发明所要解决的技术问题是:提出一种扩展显示屏控制器及扩展显示屏操控方法,解决传统基于同一PC扩展显示模式的多屏显示方案存在的操作繁琐、操作效率低的问题。
本发明解决上述技术问题采用的技术方案是:
一种扩展显示屏控制器,应用于基于同一PC扩展显示模式下的多屏显示***中,所述多屏显示***包括主屏和扩展显示屏;所述扩展显示屏控制器包括:扩展屏控制窗口模块、光标切换模块以及拖拽控制模块;
所述扩展屏控制窗口模块,用于在主屏的桌面上创建和运行扩展屏控制窗口,在所述扩展屏控制窗口中实时同步显示扩展显示屏的内容,并提供对扩展显示屏的内容的操控功能;
光标切换模块,用于操控电脑光标在主屏和扩展显示屏之间进行平滑切换;
拖拽控制模块,用于在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示。
作为进一步优化,所述扩展屏控制窗口模块包括:
控制窗口创建子模块,用于在主屏的桌面上创建与扩展显示屏分辨率宽高比例一致的扩展屏控制窗口;
扩展屏画面抓取子模块,用于根据显示帧频,整屏抓取扩展显示屏画面,并在主屏幕中的扩展屏控制窗口中显示出来;
操控子模块,用于在主屏幕中的扩展屏控制窗口中对扩展显示屏上的内容进行操控,包括多点触控、笔迹书写和鼠标触发事件。
作为进一步优化,所述扩展屏控制窗口模块还包括:
控制窗口调节子模块,用于对扩展屏控制窗口的大小和折叠状态进行调节。
作为进一步优化,所述光标切换模块包括:
光标监测子模块,用于实时获取电脑光标在主屏和扩展显示屏上的位置及光标操作信息;
光标跳转计算子模块,用于根据当前电脑光标的位置信息判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点,并进行相应的光标跳转;以及,根据当前电脑光标的位置信息判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点,并进行相应的光标跳转。
作为进一步优化,所述拖拽控制模块包括:
扩展显示屏窗口设置子模块,用于在扩展显示屏建立一个全屏的窗口,并进行以下设置:设置窗口为透明无边框,设置窗口的是否允许拖拽放置属性为真,设置接收到鼠标的拖拽放置时触发拖拽消息事件;
拖拽消息事件处理子模块,用于在触发拖拽消息事件后,从所述拖拽消息事件中获取被拖拽对象的路径,通过创建windows进程对象,并设置该进程对象关联的被拖拽对象的路径,然后启动该进程对象,在扩展显示屏中全屏打开被拖拽对象。
此外,本发明还提供了一种扩展显示屏操控方法,其包括:
在主屏的桌面上,创建和运行扩展屏控制窗口,在所述扩展屏控制窗口中实时同步显示扩展显示屏的内容,并提供对扩展显示屏的内容的操控功能;
通过操控电脑光标,在主屏幕和扩展屏控制窗口之间平滑切换,在主屏上实现对扩展显示屏的操控;
在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示。
作为进一步优化,所述在主屏的桌面上创建和运行扩展屏控制窗口,在所述扩展屏控制窗口中实时同步显示扩展显示屏的内容,具体包括:
在主屏的桌面上创建与扩展显示屏分辨率宽高比例一致的扩展屏控制窗口;然后根据显示帧频,整屏抓取扩展显示屏画面,并在主屏幕中的扩展屏控制窗口中显示出来。
作为进一步优化,所述通过操控电脑光标,在主屏幕和扩展屏控制窗口之间平滑切换,具体包括:
对电脑光标进行实时监控;
当判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点,并进行相应的光标跳转;
当判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点,并进行相应的光标跳转。
作为进一步优化,所述当判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点的方法包括:
以扩展显示屏左上角为坐标系原点,计算扩展显示屏上与扩展屏控制窗口区域内电脑光标坐标点对应的坐标点:
横坐标xs = ws × ((xm - xr) ÷wr);
纵坐标ys = hs × ((ym - yr) ÷hr);
其中,ws、hs分别为扩展显示屏的分辨率宽和高;xm和ym分别为以主屏幕左上角为坐标系原点的电脑光标当前横、纵坐标;xr、yr分别为以主屏幕左上角为坐标系原点的扩展屏控制窗口区域左上角的横、纵坐标;wr、hr分别为扩展屏控制窗口区域的分辨率宽和高;
将计算出来的坐标(xs,ys)转换为以主屏左上角为坐标系原点的对应坐标值(x´s,y´s):
x´s= xs+ x1;
y´s= ys+ y1;
其中,x1和y1分别为以主屏幕左上角为坐标系原点的扩展显示屏左上角横、纵坐标。
作为进一步优化,所述当判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点的方法包括:
当电脑光标在扩展显示屏上移动至上边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr + wr × ((xm - x1) ÷ws);
yn= yr;
当电脑光标在扩展显示屏上移动至下边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr + wr × ((xm - x1) ÷ws);
yn= yr + wr;
当电脑光标在扩展显示屏上移动至左边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr;
yn= yr + hr × (ym ÷hs);
当电脑光标在扩展显示屏上移动至右边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr+ wr;
yn= yr + hr × (ym ÷hs)。
作为进一步优化,所述在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示,具体包括:
在扩展显示屏建立一个全屏的窗口,并进行以下设置:设置窗口为透明无边框,设置窗口的是否允许拖拽放置属性为真,设置接收到鼠标的拖拽放置时触发拖拽消息事件;
当从主屏拖拽对象进入扩展屏控制窗口时,电脑光标跳转至扩展显示屏上,当松开鼠标后,触发拖拽放置消息,并发送给扩展显示屏上的全屏窗口;
扩展显示屏上的全屏窗口从所述拖拽消息事件中获取被拖拽对象的路径,通过创建windows进程对象,并设置该进程对象关联的被拖拽对象的路径,然后启动该进程对象,在扩展显示屏中全屏打开被拖拽对象。
作为进一步优化,所述启动该进程对象,在扩展显示屏中全屏打开被拖拽对象,包括:
在启动所述进程对象之前,先创建一个空的窗口句柄值列表A,然后遍历windows***当前运行的所有进程,获取每个进程的主窗口的句柄值,如果值不为0,则添加到窗口句柄值列表A中;
在启动所述进程对象后,重新创建一个空的窗口句柄值列表B,然后再遍历windows***当前运行的所有进程,获取每个进程的主窗口的句柄值,如果值不为0,则添加到窗口句柄值列表B中;
对比窗口句柄值列表A和列表B,当发现列表B中的某一项值不存在于列表A中时,则判定为新打开的进程的主窗口句柄值,然后调用窗口设置方法设置新打开的进程的窗口最大化,然后调用windows窗口移动方法将此窗口位置移动到扩展显示屏。
本发明的有益效果是:
(1)通过在主屏上创建和运行扩展屏控制窗口,以此控制窗口实现对扩展屏的预览和操控,并基于光标在主屏与扩展屏之间的平滑切换,实现在主屏上对所有屏幕的操控和管理,即操作视窗始终在主屏幕,从而很好地解决用户在多屏幕之间视线切换和对大脑加工内容造成的负担,在提高操作使用的效率的同时,也符合大脑对画面内容知识加工的逻辑;
(2)在从主屏向扩展屏控制窗口中拖拽对象时,自动调用对应程序打开该对象,并在扩展显示屏中进行全屏显示,用户只需要简单的拖拽动作就可以实现一系列操作,从而简化了用户的操作流程,提高操作效率。
附图说明
图1为本发明中的扩展显示屏控制器结构框图;
图2为电脑光标在主屏与扩展显示屏之间平滑切换的示意图。
具体实施方式
本发明旨在提出一种扩展显示屏控制器及扩展显示屏操控方法,解决传统基于同一PC扩展显示模式的多屏显示方案存在的操作繁琐、操作效率低的问题。其核心思想是:在同一PC扩展显示模式下的多屏显示***中的主屏幕上通过创建和运行扩展屏控制窗口显示对扩展屏中内容的操控管理,同时在将主屏中的文件或者程序快捷方式拖拽至扩展屏控制窗口中时,还能自动运行对象并在扩展显示屏中进行全屏显示,由此,本发明能够减少用户在不同屏幕之间反复转移视线,反复拖拽对象展示等操作,极大地简化操作,提高操作效率。
本发明中的扩展显示屏控制器是应用于基于同一PC扩展显示模式下的多屏显示***中,多屏显示***由PC机、布置于讲台的触控显示屏(讲台操作屏)、悬挂于墙壁的两个或两个以上的大屏幕组成,其中一个大屏幕作为主屏与讲台操作屏采用同一信号源,二者显示相同PC桌面,其余大屏幕作为扩展屏,可以展示与主屏相关联的任务或者历史内容,以便进行关联展示、逻辑对比展示等;由于同一PC扩展显示模式下,各个大屏幕中显示不同的信号源内容,若需要在某一个大屏幕上进行操作,则需要将鼠标移动到对应的大屏幕上;若需要将指定主屏幕的应用程序或窗口移动到扩展屏幕上展示,则需要将其对象拖拽到扩展屏幕中,并在扩展屏幕中对其运行操作。
本发明就是要通过扩展显示屏控制器在主屏上实现对所有扩展屏的操控和管理,用户可以通过鼠标,数位笔或者手指操控电脑光标,在主屏幕和扩展显示屏之间平滑切换,以此实现在一个屏幕上能操作多个屏幕内容的效果,并且对于需要移动至扩展屏幕中进行显示的对象,只需要简单的拖拽步骤就能实现一系列的操作。
在具体实现上,如图1所示,本发明中的扩展显示屏控制器包括:扩展屏控制窗口模块、光标切换模块以及拖拽控制模块;其中,扩展屏控制窗口模块由控制窗口创建子模块、扩展屏画面抓取子模块、操控子模块、控制窗口调节子模块组成;光标切换模块由光标监测子模块、光标跳转计算子模块组成;拖拽控制模块由扩展显示屏窗口设置子模块、拖拽消息事件处理子模块构成。各个子模块的功能介绍如下:
控制窗口创建子模块:用于在主屏的桌面上创建与扩展显示屏分辨率宽高比例一致的扩展屏控制窗口;
扩展屏画面抓取子模块:用于根据显示帧频,整屏抓取扩展显示屏画面,并在主屏幕中的扩展屏控制窗口中显示出来;
操控子模块:用于在主屏幕中的扩展屏控制窗口中对扩展显示屏上的内容进行操控,包括多点触控、笔迹书写和鼠标触发事件。
控制窗口调节子模块:用于对扩展屏控制窗口的大小和折叠状态进行调节。
光标监测子模块:用于以主屏左上角为原点坐标,实时获取电脑光标在主屏和扩展显示屏上的位置以及光标操作信息;
光标跳转计算子模块:用于根据当前电脑光标的位置信息判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点,并进行相应的光标跳转;以及,根据当前电脑光标的位置信息判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点,并进行相应的光标跳转。
扩展显示屏窗口设置子模块:用于在扩展显示屏建立一个全屏的窗口,并进行以下设置:设置窗口为透明无边框,设置窗口的是否允许拖拽放置属性为真,设置接收到鼠标的拖拽放置时触发拖拽消息事件;
拖拽消息事件处理子模块:用于在触发拖拽消息事件后,从所述拖拽消息事件中获取被拖拽对象的路径,通过创建windows进程对象,并设置该进程对象关联的被拖拽对象的路径,然后启动该进程对象,在扩展显示屏中全屏打开被拖拽对象。
实施例:
基于上述扩展显示屏控制器,本实施例实现的扩展显示屏操控方法主要由三大技术点组成,第一点是在扩展屏窗口实时显示扩展屏画面的技术,第二点是控制电脑光标在主屏幕和扩展屏之间平滑切换的技术,第三点是从主屏拖动文件或者程序快捷方式到扩展屏窗口上,能够自动打开对应程序加载文件,并在扩展屏上全屏显示的技术。具体说明如下:
一、在扩展屏窗口实时显示扩展屏画面:
1、在主屏幕上创建一个和扩展屏分辨率宽高比例一致的扩展屏控制窗口,该窗口内置一个图片组件。
2、根据显示帧频,整屏抓取扩展屏画面,然后在主屏幕中的扩展屏控制窗口中通过图片组件显示出来。
通过此手段,能够在主屏上的窗口中实时同步显示扩展屏画面,以便实现在一个屏幕中对多个屏幕内容的预览和操控。
二、控制电脑光标在主屏幕和扩展屏之间平滑切换:
1、调用windows api方法SetWindowsHookEx,启动电脑光标实时监控,以主屏幕左上角为坐标原点,实时获取电脑光标在主屏幕以及扩展屏幕上的位置以及光标操作信息,包括移动,点击,双击,滚轮滑动等操作。
2、当电脑光标在主屏幕上从扩展屏窗口外进入扩展屏窗口内时,以扩展显示屏左上角为坐标系原点,计算扩展显示屏上与扩展屏控制窗口区域内电脑光标坐标点对应的坐标点:
横坐标xs = ws × ((xm - xr) ÷wr);
纵坐标ys = hs × ((ym - yr) ÷hr);
其中,ws、hs分别为扩展显示屏的分辨率宽和高;xm和ym分别为以主屏幕左上角为坐标系原点的电脑光标当前横、纵坐标;xr、yr分别为以主屏幕左上角为坐标系原点的扩展屏控制窗口区域左上角的横、纵坐标;wr、hr分别为扩展屏控制窗口区域的分辨率宽和高;
由于当单PC设置屏幕扩展模式后,都是以主屏左上角为原点,因此,需要对上述获取的以扩展屏左上角为坐标系原点的坐标(xs,ys)进行转换:
x´s= xs+ x1;
y´s= ys+ y1;
其中,x1和y1分别为以主屏幕左上角为坐标系原点的扩展显示屏左上角横、纵坐标。
最后,以计算出来的扩展屏坐标点(x´s,y´s)为输入参数,调用windows api 方法SetCursorPos,将电脑光标从主屏幕跳转到扩展屏上。
3、在步骤1的电脑光标实时监控里,实时获取电脑光标的当前位置,只要电脑光标在扩展屏窗口的矩形区域内,都会执行步骤2一样的操作。从而保证电脑光标在扩展屏屏幕上,执行正常的鼠标操作,如:移动,点击,双击,滚轮滑动等。
4、通过步骤1的电脑光标监控,当电脑光标在扩展屏幕上移动至扩展屏的边缘时,则同样调用windows api 方法SetCursorPos,将电脑光标从扩展屏幕跳转到主屏幕上。跳转到主屏幕的坐标点的计算方法和步骤2类似:
当电脑光标在扩展显示屏上移动至上边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr + wr × ((xm - x1) ÷ws);
yn= yr;
当电脑光标在扩展显示屏上移动至下边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr + wr × ((xm - x1) ÷ws);
yn= yr + wr;
当电脑光标在扩展显示屏上移动至左边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr;
yn= yr + hr × (ym ÷hs);
当电脑光标在扩展显示屏上移动至右边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr+ wr;
yn= yr + hr × (ym ÷hs)。
通过此手段,可以实现电脑光标在主屏幕与扩展屏幕之间的平滑切换,以便对相应屏幕上的内容进行操控,电脑光标在主屏与扩展显示屏之间平滑切换的示意图如图2所示。可以看出,当电脑光标从主屏上移动至主屏上的扩展屏控制窗口中时,光标自动切换至扩展屏对应位置,同样,当电脑光标在扩展屏上移动至扩展屏的边缘线时,光标自动切换至主屏上对应位置。
三、实现从主屏拖动文件、程序快捷方式到扩展屏控制窗口,自动打开对应程序并在扩展屏最大化显示:
1、在扩展屏全屏打开一个窗口,该窗口设置为透明无边框,设置窗口的是否允许拖拽放置属性为真,并设置接收到鼠标的拖拽放置时触发消息事件。
2、从主屏拖拽文件或快捷方式进入主屏上的扩展屏控制窗口时,鼠标会跳转到扩展屏上,就会落入扩展屏的全屏窗口上,放开鼠标后,就会触发拖拽放置消息,并发送给此全屏窗口。
3、扩展屏的全屏窗口接收到拖拽放置消息后,就从消息里获取拖拽的文件路径,接着创建一个windows进程对象,设置该进程对象关联文件路径,然后启动该进程对象,该进程对象会自动根据文件路径,找到默认的对应程序来打开。
4、在启动步骤3中所述进程对象之前,先创建一个空的窗口句柄值列表A,然后遍历windows***当前运行的所有进程,获取每个进程的主窗口的句柄值,如果值不为0,则添加到窗口句柄值列表A中。
5、在启动步骤3中所述进程对象后,重新创建一个空的窗口句柄值列表B,然后再遍历windows***当前运行的所有进程,获取每个进程的主窗口的句柄值,如果值不为0,则添加到窗口句柄值列表B中。
6、对比窗口句柄值列表A和列表B,当发现列表B中的某一项值不存在于列表A中时,则判定为新打开的进程的主窗口句柄值,然后调用windows窗口设置方法windows apiShowWindow设置新打开的进程的窗口最大化,由于进程对象打开的窗口在主屏上,我们还需要调用windows窗口移动方法windows api MoveWindow将此窗口位置移动到扩展屏,进而实现自动打开文件并在扩展屏上的全屏展示。
需要说明的是,以上所述实施例为本发明的优选实施方式而已,对于本技术领域的普通技术人员而言,在上述实施例的基础上进行的等同修改或者替换的方案,均不脱离本发明技术方案的保护范围。
Claims (12)
1.一种扩展显示屏控制器,应用于基于同一PC扩展显示模式下的多屏显示***中,所述多屏显示***包括主屏和扩展显示屏;其特征在于,
所述扩展显示屏控制器包括:扩展屏控制窗口模块、光标切换模块以及拖拽控制模块;
所述扩展屏控制窗口模块,用于在主屏的桌面上创建和运行扩展屏控制窗口,在所述扩展屏控制窗口中实时同步显示扩展显示屏的内容,并提供对扩展显示屏的内容的操控功能;
光标切换模块,用于操控电脑光标在主屏和扩展显示屏之间进行平滑切换;
拖拽控制模块,用于在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示。
2.如权利要求1所述的一种扩展显示屏控制器,其特征在于,
所述扩展屏控制窗口模块包括:
控制窗口创建子模块,用于在主屏的桌面上创建与扩展显示屏分辨率宽高比例一致的扩展屏控制窗口;
扩展屏画面抓取子模块,用于根据显示帧频,整屏抓取扩展显示屏画面,并在主屏幕中的扩展屏控制窗口中显示出来;
操控子模块,用于在主屏幕中的扩展屏控制窗口中对扩展显示屏上的内容进行操控,包括多点触控、笔迹书写和鼠标触发事件。
3.如权利要求2所述的一种扩展显示屏控制器,其特征在于,
所述扩展屏控制窗口模块还包括:
控制窗口调节子模块,用于对扩展屏控制窗口的大小和折叠状态进行调节。
4.如权利要求1所述的一种扩展显示屏控制器,其特征在于,
所述光标切换模块包括:
光标监测子模块,用于实时获取电脑光标在主屏和扩展显示屏上的位置及光标操作信息;
光标跳转计算子模块,用于根据当前电脑光标的位置信息判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点,并进行相应的光标跳转;以及,根据当前电脑光标的位置信息判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点,并进行相应的光标跳转。
5.如权利要求1所述的一种扩展显示屏控制器,其特征在于,
所述拖拽控制模块包括:
扩展显示屏窗口设置子模块,用于在扩展显示屏建立一个全屏的窗口,并进行以下设置:设置窗口为透明无边框,设置窗口的是否允许拖拽放置属性为真,设置接收到鼠标的拖拽放置时触发拖拽消息事件;
拖拽消息事件处理子模块,用于在触发拖拽消息事件后,从所述拖拽消息事件中获取被拖拽对象的路径,通过创建windows进程对象,并设置该进程对象关联的被拖拽对象的路径,然后启动该进程对象,在扩展显示屏中全屏打开被拖拽对象。
6.一种扩展显示屏操控方法,其特征在于,包括:
在主屏的桌面上,创建和运行扩展屏控制窗口,在所述扩展屏控制窗口中实时同步显示扩展显示屏的内容,并提供对扩展显示屏的内容的操控功能;
通过操控电脑光标,在主屏幕和扩展屏控制窗口之间平滑切换,在主屏上实现对扩展显示屏的操控;
在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示。
7.如权利要求6所述的一种扩展显示屏操控方法,其特征在于,
所述在主屏的桌面上创建和运行扩展屏控制窗口,在所述扩展屏控制窗口中实时同步显示扩展显示屏的内容,具体包括:
在主屏的桌面上创建与扩展显示屏分辨率宽高比例一致的扩展屏控制窗口;然后根据显示帧频,整屏抓取扩展显示屏画面,并在主屏幕中的扩展屏控制窗口中显示出来。
8.如权利要求6所述的一种扩展显示屏操控方法,其特征在于,
所述通过操控电脑光标,在主屏幕和扩展屏控制窗口之间平滑切换,具体包括:
对电脑光标进行实时监控;
当判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点,并进行相应的光标跳转;
当判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点,并进行相应的光标跳转。
9.如权利要求8所述的一种扩展显示屏操控方法,其特征在于,
所述当判断光标在主屏上由从扩展屏控制窗口外进入扩展屏控制窗口内时,计算扩展显示屏上与当前扩展屏控制窗口区域内电脑光标坐标点对应的扩展显示屏坐标点的方法包括:
以扩展显示屏左上角为坐标系原点,计算扩展显示屏上与扩展屏控制窗口区域内电脑光标坐标点对应的坐标点:
横坐标xs = ws × ((xm - xr) ÷wr);
纵坐标ys = hs × ((ym - yr) ÷hr);
其中,ws、hs分别为扩展显示屏的分辨率宽和高;xm和ym分别为以主屏幕左上角为坐标系原点的电脑光标当前横、纵坐标;xr、yr分别为以主屏幕左上角为坐标系原点的扩展屏控制窗口区域左上角的横、纵坐标;wr、hr分别为扩展屏控制窗口区域的分辨率宽和高;
将计算出来的坐标(xs,ys)转换为以主屏左上角为坐标系原点的对应坐标值(x´s,y´s):
x´s= xs+ x1;
y´s= ys+ y1;
其中,x1和y1分别为以主屏幕左上角为坐标系原点的扩展显示屏左上角横、纵坐标。
10.如权利要求8所述的一种扩展显示屏操控方法,其特征在于,
所述当判断光标在扩展显示屏上移动到边缘时,计算主屏上与当前电脑光标坐标点对应的主屏坐标点的方法包括:
当电脑光标在扩展显示屏上移动至上边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr + wr × ((xm - x1) ÷ws);
yn= yr;
当电脑光标在扩展显示屏上移动至下边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr + wr × ((xm - x1) ÷ws);
yn= yr + wr;
当电脑光标在扩展显示屏上移动至左边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr;
yn= yr + hr × (ym ÷hs);
当电脑光标在扩展显示屏上移动至右边缘线时,主屏上与当前电脑光标坐标点对应的主屏坐标点(xn、yn)的计算方法为:
xn = xr+ wr;
yn= yr + hr × (ym ÷hs)。
11.如权利要求6所述的一种扩展显示屏操控方法,其特征在于,
所述在从主屏拖动对象到扩展屏控制窗口上时,自动打开该对象,并在扩展显示屏上进行全屏显示,具体包括:
在扩展显示屏建立一个全屏的窗口,并进行以下设置:设置窗口为透明无边框,设置窗口的是否允许拖拽放置属性为真,设置接收到鼠标的拖拽放置时触发拖拽消息事件;
当从主屏拖拽对象进入扩展屏控制窗口时,电脑光标跳转至扩展显示屏上,当松开鼠标后,触发拖拽放置消息,并发送给扩展显示屏上的全屏窗口;
扩展显示屏上的全屏窗口从所述拖拽消息事件中获取被拖拽对象的路径,通过创建windows进程对象,并设置该进程对象关联的被拖拽对象的路径,然后启动该进程对象,在扩展显示屏中全屏打开被拖拽对象。
12.如权利要求11所述的一种扩展显示屏操控方法,其特征在于,
所述启动该进程对象,在扩展显示屏中全屏打开被拖拽对象,具体包括:
在启动所述进程对象之前,先创建一个空的窗口句柄值列表A,然后遍历windows***当前运行的所有进程,获取每个进程的主窗口的句柄值,如果值不为0,则添加到窗口句柄值列表A中;
在启动所述进程对象后,重新创建一个空的窗口句柄值列表B,然后再遍历windows***当前运行的所有进程,获取每个进程的主窗口的句柄值,如果值不为0,则添加到窗口句柄值列表B中;
对比窗口句柄值列表A和列表B,当发现列表B中的某一项值不存在于列表A中时,则判定为新打开的进程的主窗口句柄值,然后调用窗口设置方法设置新打开的进程的窗口最大化,然后调用windows窗口移动方法将此窗口位置移动到扩展显示屏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754662.3A CN111736789A (zh) | 2020-07-31 | 2020-07-31 | 一种扩展显示屏控制器及扩展显示屏操控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754662.3A CN111736789A (zh) | 2020-07-31 | 2020-07-31 | 一种扩展显示屏控制器及扩展显示屏操控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111736789A true CN111736789A (zh) | 2020-10-02 |
Family
ID=72656630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010754662.3A Pending CN111736789A (zh) | 2020-07-31 | 2020-07-31 | 一种扩展显示屏控制器及扩展显示屏操控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111736789A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698764A (zh) * | 2020-12-31 | 2021-04-23 | 联想(北京)有限公司 | 一种处理方法及装置 |
CN113419651A (zh) * | 2021-06-17 | 2021-09-21 | 深圳市秦安科技有限公司 | 一种多窗口双屏切换方法、***、智能终端以及计算机可读存储介质 |
CN113703708A (zh) * | 2021-09-02 | 2021-11-26 | 四川得孚科技有限公司 | 基于窗口的多屏显示方法 |
CN113721808A (zh) * | 2021-08-31 | 2021-11-30 | 联想(北京)有限公司 | 一种控制方法及装置 |
CN114428572A (zh) * | 2020-10-29 | 2022-05-03 | 京东方科技集团股份有限公司 | 分屏显示方法、装置、电子设备及计算机可读介质 |
CN114579070A (zh) * | 2022-02-18 | 2022-06-03 | 联宝(合肥)电子科技有限公司 | 一种多显示器的控制方法、装置、设备及存储介质 |
CN115016702A (zh) * | 2021-09-10 | 2022-09-06 | 荣耀终端有限公司 | 扩展屏幕模式下选择应用程序显示屏幕的控制方法及*** |
WO2023224681A1 (en) * | 2022-05-20 | 2023-11-23 | Microsoft Technology Licensing, Llc | Mapping incompatible windowing topographies across operating systems |
US11947860B2 (en) | 2022-05-20 | 2024-04-02 | Microsoft Technology Licensing, Llc | Mapping incompatible windowing topographies across operating systems |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627287A (zh) * | 2003-12-08 | 2005-06-15 | 联想(北京)有限公司 | 演示文件的图文讲稿处理方法 |
US20110231791A1 (en) * | 2010-03-19 | 2011-09-22 | Seiko Epson Corporation | Image display system, graphical user interface, and image display method |
CN102890595A (zh) * | 2011-07-19 | 2013-01-23 | 宏碁股份有限公司 | 主屏幕与延伸屏幕的互动控制方法及*** |
CN103176760A (zh) * | 2011-12-23 | 2013-06-26 | 联想(北京)有限公司 | 一种屏幕显示方法及装置、电子设备 |
CN103425447A (zh) * | 2012-05-22 | 2013-12-04 | 华硕电脑股份有限公司 | 电子装置的显示***及其显示模块 |
CN108700983A (zh) * | 2016-02-22 | 2018-10-23 | 西门子股份公司 | 具有多个显示器的用户界面和用于在多个显示器上放置内容的方法 |
CN111124327A (zh) * | 2018-10-31 | 2020-05-08 | 中兴通讯股份有限公司 | 屏幕控制方法、多屏终端及计算机可读存储介质 |
-
2020
- 2020-07-31 CN CN202010754662.3A patent/CN111736789A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627287A (zh) * | 2003-12-08 | 2005-06-15 | 联想(北京)有限公司 | 演示文件的图文讲稿处理方法 |
US20110231791A1 (en) * | 2010-03-19 | 2011-09-22 | Seiko Epson Corporation | Image display system, graphical user interface, and image display method |
CN102890595A (zh) * | 2011-07-19 | 2013-01-23 | 宏碁股份有限公司 | 主屏幕与延伸屏幕的互动控制方法及*** |
CN103176760A (zh) * | 2011-12-23 | 2013-06-26 | 联想(北京)有限公司 | 一种屏幕显示方法及装置、电子设备 |
CN103425447A (zh) * | 2012-05-22 | 2013-12-04 | 华硕电脑股份有限公司 | 电子装置的显示***及其显示模块 |
CN108700983A (zh) * | 2016-02-22 | 2018-10-23 | 西门子股份公司 | 具有多个显示器的用户界面和用于在多个显示器上放置内容的方法 |
CN111124327A (zh) * | 2018-10-31 | 2020-05-08 | 中兴通讯股份有限公司 | 屏幕控制方法、多屏终端及计算机可读存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428572A (zh) * | 2020-10-29 | 2022-05-03 | 京东方科技集团股份有限公司 | 分屏显示方法、装置、电子设备及计算机可读介质 |
CN112698764A (zh) * | 2020-12-31 | 2021-04-23 | 联想(北京)有限公司 | 一种处理方法及装置 |
CN113419651A (zh) * | 2021-06-17 | 2021-09-21 | 深圳市秦安科技有限公司 | 一种多窗口双屏切换方法、***、智能终端以及计算机可读存储介质 |
CN113419651B (zh) * | 2021-06-17 | 2022-03-18 | 深圳市秦安科技有限公司 | 一种多窗口双屏切换方法、***、智能终端以及计算机可读存储介质 |
CN113721808A (zh) * | 2021-08-31 | 2021-11-30 | 联想(北京)有限公司 | 一种控制方法及装置 |
CN113703708A (zh) * | 2021-09-02 | 2021-11-26 | 四川得孚科技有限公司 | 基于窗口的多屏显示方法 |
CN115016702A (zh) * | 2021-09-10 | 2022-09-06 | 荣耀终端有限公司 | 扩展屏幕模式下选择应用程序显示屏幕的控制方法及*** |
CN115016702B (zh) * | 2021-09-10 | 2023-10-27 | 荣耀终端有限公司 | 扩展屏幕模式下选择应用程序显示屏幕的控制方法及*** |
CN114579070A (zh) * | 2022-02-18 | 2022-06-03 | 联宝(合肥)电子科技有限公司 | 一种多显示器的控制方法、装置、设备及存储介质 |
WO2023224681A1 (en) * | 2022-05-20 | 2023-11-23 | Microsoft Technology Licensing, Llc | Mapping incompatible windowing topographies across operating systems |
US11947860B2 (en) | 2022-05-20 | 2024-04-02 | Microsoft Technology Licensing, Llc | Mapping incompatible windowing topographies across operating systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111736789A (zh) | 一种扩展显示屏控制器及扩展显示屏操控方法 | |
EP3742280A1 (en) | Display annotation method, device, apparatus, and storage medium | |
CN103348311B (zh) | 用户界面上的拖移手势 | |
US8244233B2 (en) | Systems and methods for operating a virtual whiteboard using a mobile phone device | |
US11573984B2 (en) | Information processing device, information processing method, and program | |
US20210191611A1 (en) | Method and apparatus for controlling electronic device based on gesture | |
CN111601120A (zh) | 一种无线传屏显示***与显示方法 | |
CN110678834A (zh) | 用于访问通知的设备、方法和图形用户界面 | |
DE202016005219U1 (de) | Benutzerschnittstelle zum Navigieren und Wiedergeben von Inhalt | |
WO2020010775A1 (zh) | 电子白板的界面元素操作方法、装置及交互智能设备 | |
CN111813302B (zh) | 投屏显示方法、装置、终端设备和存储介质 | |
WO2021258917A1 (zh) | 智能交互方法及设备、存储介质 | |
US10545626B2 (en) | Presenter/viewer role swapping during ZUI performance with video background | |
CN103729055A (zh) | 多显示设备、输入笔、多显示控制方法和多显示*** | |
CN102750122A (zh) | 多画面显示控制方法、装置及*** | |
CN109375980B (zh) | 基于Andriod***的触控绘图方法 | |
CN107766024B (zh) | 一种基于拼接墙的ppt放映控制方法和*** | |
CN111399791A (zh) | 基于同一pc的电子板书多屏显示***及方法 | |
US20160182579A1 (en) | Method of establishing and managing messaging sessions based on user positions in a collaboration space and a collaboration system employing same | |
TW201322103A (zh) | 多人觸控電腦虛擬物件之控制方法及其系統 | |
CN112256177A (zh) | 一种小触控屏和大显示屏协同实现高效协作的***架构 | |
Xiao et al. | Live Video System-A Lecturer Mobile Assistant | |
Liao et al. | Shared interactive video for teleconferencing | |
WO2022001542A1 (zh) | 信息处理方法、装置、存储介质及电子设备 | |
Jagodic | Collaborative interaction and display space organization in large high-resolution environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201002 |
|
RJ01 | Rejection of invention patent application after publication |