CN112799568A - 一种放映态下控制ppt中元素的方法及终端 - Google Patents

一种放映态下控制ppt中元素的方法及终端 Download PDF

Info

Publication number
CN112799568A
CN112799568A CN201911104892.9A CN201911104892A CN112799568A CN 112799568 A CN112799568 A CN 112799568A CN 201911104892 A CN201911104892 A CN 201911104892A CN 112799568 A CN112799568 A CN 112799568A
Authority
CN
China
Prior art keywords
mouse
ppt
hit
window
state
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.)
Granted
Application number
CN201911104892.9A
Other languages
English (en)
Other versions
CN112799568B (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.)
Fujian Tianquan Educational Technology Ltd
Original Assignee
Fujian Tianquan Educational Technology 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 Fujian Tianquan Educational Technology Ltd filed Critical Fujian Tianquan Educational Technology Ltd
Priority to CN201911104892.9A priority Critical patent/CN112799568B/zh
Publication of CN112799568A publication Critical patent/CN112799568A/zh
Application granted granted Critical
Publication of CN112799568B publication Critical patent/CN112799568B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种放映态下控制PPT中元素的方法及终端,获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素,突破传统PPT的操作限制,实现PPT在放映状态下,也可对元素进行操作,丰富了PPT在放映态下的交互场景。

Description

一种放映态下控制PPT中元素的方法及终端
技术领域
本发明涉及图像处理领域,具体涉及一种放映态下控制PPT中元素的方法及终端。
背景技术
传统的PPT在放映态时,是无法控制页面上的元素的(例如拖动,改变图片大小等),这样往往限制了放映态下PPT的一些互动场景。
针对上述问题,现一般采用对目标元素编写VBA脚本来实现PPT在放映时拖动元素的目的。该方法通过在PPT页面中插入一个图像控件,双击控件进行VBA编码,输入可使控件移动的代码,放映PPT,鼠标点击元素即可对元素进行拖拽,虽然该方法可以实现PPT在放映时,用鼠标直接拖拽元素的效果,但是却不能改变元素的大小、旋转角度等,并且该方法要求图像控件必须是ActiveX控件,这就极大的限制了能进行拖拽操作的元素范围,此外,要实现该效果需提前对图像控件添加VBA脚本,且该方法是一对一,即一个图像控件对应一个VBA脚本,因此用户无法任意拖拽放映态下PPT中的元素。
发明内容
本发明所要解决的技术问题是:提供一种放映态下控制PPT中元素的方法及终端,实现控制页面中的任意元素,灵活性高。
为了解决上述技术问题,本发明采用的技术方案为:
一种放映态下控制PPT中元素的方法,其特征在于,包括步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种放映态下控制PPT中元素的终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
本发明的有益效果在于:确定鼠标在放映态下PPT窗口中的元素坐标,并将其与PPT窗口中的每一个元素进行位置碰撞检测以确定鼠标命中元素,在所述PPT窗口中对鼠标命中元素进行绘制,通过绘制的鼠标命中元素实现对PPT窗口中对应的实际命中元素进行控制,通过获取鼠标的点击消息确定鼠标元素坐标,有利于时刻监控鼠标对所述当前PPT放映态窗口中元素的操作,由于鼠标的位置存在随机性,遍历当前PPT放映窗口下的所有元素,将所有元素依次与鼠标的元素坐标进行位置碰撞检测,可以准确的捕捉到鼠标命中的元素,提高鼠标操作元素的精确性,对所述鼠标命中元素进行绘制展示,接收对所述绘制的鼠标命中元素的控制,以绘制的命中元素为介质对PPT窗口中对应的实际命中元素进行控制,实现PPT在放映状态下,无需对每一个元素提前注入脚本,也可实现对元素进行操作,提高了放映态下对PPT中的元素进行控制的便捷性和灵活性,丰富了PPT的交互场景。
附图说明
图1为本发明实施例的一种放映态下控制PPT中元素的方法的步骤流程图;
图2为本发明实施例的一种放映态下控制PPT中元素的终端的结构示意图;
图3为本发明实施例的一种放映态下控制PPT中元素的方法及终端的PPT文档对象介绍图;
图4为本发明实施例的一种放映态下控制PPT中元素的方法及终端的PPT文档对象层级示意图;
标号说明:
1、一种放映态下控制PPT中元素的终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种放映态下控制PPT中元素的方法,包括步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
从上述描述可知,本发明的有益效果在于:确定鼠标在放映态下PPT窗口中的元素坐标,并将其与PPT窗口中的每一个元素进行位置碰撞检测以确定鼠标命中元素,在所述PPT窗口中对鼠标命中元素进行绘制,通过绘制的鼠标命中元素实现对PPT窗口中对应的实际命中元素进行控制,通过获取鼠标的点击消息确定鼠标元素坐标,有利于时刻监控鼠标对所述当前PPT放映态窗口中元素的操作,由于鼠标的位置存在随机性,遍历当前PPT放映窗口下的所有元素,将所有元素依次与鼠标的元素坐标进行位置碰撞检测,可以准确的捕捉到鼠标命中的元素,提高鼠标操作元素的精确性,对所述鼠标命中元素进行绘制展示,接收对所述绘制的鼠标命中元素的控制,以绘制的命中元素为介质对PPT窗口中对应的实际命中元素进行控制,实现PPT在放映状态下,无需对每一个元素提前注入脚本,也可实现对元素进行操作,提高了放映态下对PPT中的元素进行控制的便捷性和灵活性,丰富了PPT的交互场景。
进一步的,所述步骤S1包括:
S11、判断所述PPT进程是否已经注入监视鼠标事件消息的钩子,若是,自动调用所述钩子的消息回调方法,并执行步骤S12,若否,将所述钩子注入到所述PPT进程中,并返回步骤S11;
S12、判断鼠标是否为当前PPT放映窗口的鼠标消息对应的鼠标,若是,获取所述鼠标的点击消息,所述点击消息包括鼠标的坐标以及状态,并执行步骤S13,否若,则不处理;
S13、判断所述鼠标左键是否按下,若是,获取所述PPT进程的应用对象,并执行步骤S14,若否,则不处理;
S14、通过所述PPT进程的应用对象获取当前的放映视图对象,并判断所述当前放映视图对象是否为放映状态,若是,则根据所述当前放映视图对象获取当前页的元素对象数组,并执行步骤S2,若否,则不处理。
由上述描述可知,向PPT进程注入鼠标钩子,可以时刻监控所述进程中鼠标的各类事件消息,当鼠标对PPT中的元素进行控制时,系统可以立即响应鼠标事件,触发对应的事件处理操作,同时通过对鼠标是否在PPT放映窗口上的判断,可以避免系统响应无意义的鼠标操作,保证鼠标操作的准确性。
进一步的,所述步骤S2包括:
将根据元素对象数组中每一个元素对象生成的区域分别与所述鼠标的元素坐标进行位置碰撞检测以确定所述鼠标的元素坐标是否落在所述区域中;
将处于所述PPT窗口的最顶层并且所述鼠标的元素坐标落在其生成的区域内的元素对象确定为所述鼠标命中元素。
由上述描述可知,利用根据元素对象生成的区域与鼠标的元素坐标进行位置碰撞检测,模拟元素对象形状,尽可能还原实际元素对象与鼠标的位置碰撞检测,减少检测的偏差,遍历检测元素对象数组中的所有元素,防止由于元素存在的重叠情况,造成单一位置碰撞检测无法找到位于页面最顶层的元素的问题,使对鼠标命中元素的检测更精确。
进一步的,所述步骤S3包括:
将所述鼠标命中元素及其索引数据、形状数据发送至一画板,使得所述画板根据所述形状数据绘制所述鼠标命中元素;
接收对所述绘制的鼠标命中元素的控制,根据所述控制确定对应的新的形状数据;
根据所述索引数据定位到所述PPT窗口中对应的实际命中元素对象;
将所述实际命中元素对象的形状数据设置为所述新的形状数据。
由上述描述可知,画板根据鼠标命中元素传递的形状数据绘制所述鼠标命中元素,使用户在操作绘制的鼠标命中元素时犹如是对实际鼠标命中元素的操控,增强用户与PPT的交互体验,且根据传递的鼠标命中元素的索引信息,可以快速定位到位于PPT放映窗口中的实际鼠标命中元素,再对所述鼠标命中元素进行新的形状数据更改,使整个控制PPT元素的过程更快捷、精确。
进一步的,所述步骤S3包括:
所述画板位于所述PPT窗口之上,并且所述画板呈半透明状态。
由上述描述可知,由于画板是位于PPT放映窗口之上的半透明状的窗口,因此PPT放映窗口中的元素会透上来,间接展示了当前鼠标命中元素的形状,使用户可以更清晰的观察控制的元素,不会因为在PPT放映窗口上设置一个画板,而导致原始鼠标命中元素形状被遮挡。
请参照图2,一种放映态下控制PPT中元素的终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
从上述描述可知,本发明的有益效果在于:确定鼠标在放映态下PPT窗口中的元素坐标,并将其与PPT窗口中的每一个元素进行位置碰撞检测以确定鼠标命中元素,在所述PPT窗口中对鼠标命中元素进行绘制,通过绘制的鼠标命中元素实现对PPT窗口中对应的实际元素进行控制,实现了对PPT窗口中任意元素的控制,通过获取鼠标的点击消息确定鼠标元素坐标,有利于时刻监控鼠标对所述当前PPT放映态窗口中元素的操作,由于鼠标的位置存在随机性,遍历当前PPT放映窗口下的所有元素,将所有元素依次与鼠标的元素坐标进行位置碰撞检测,可以准确的捕捉到鼠标命中的元素,提高鼠标操作元素的精确性,对所述命中元素进行区域绘制展示,接收对所述绘制的鼠标命中元素的控制,以绘制的命中元素为介质对PPT窗口中对应的实际命中元素进行控制,实现PPT在放映状态下,无需对每一个元素提前注入脚本,也可实现对元素进行操作,提高了放映态下对PPT中的元素进行控制的便捷性和灵活性,丰富了PPT的交互场景。
进一步的,所述步骤S1包括:
S11、判断所述PPT进程是否已经注入监视鼠标事件消息的钩子,若是,自动调用所述钩子的消息回调方法,并执行步骤S12,若否,将所述钩子注入到所述PPT进程中,并返回步骤S11;
S12、判断鼠标是否为当前PPT放映窗口的鼠标消息对应的鼠标,若是,获取所述鼠标的点击消息,所述点击消息包括鼠标的坐标以及状态,并执行步骤S13,否若,则不处理;
S13、判断所述鼠标左键是否按下,若是,获取所述PPT进程的应用对象,并执行步骤S14,若否,则不处理;
S14、通过所述PPT进程的应用对象获取当前的放映视图对象,并判断所述当前放映视图对象是否为放映状态,若是,则根据所述当前放映视图对象获取当前页的元素对象数组,并执行步骤S2,若否,则不处理。
由上述描述可知,向PPT进程注入鼠标钩子,可以时刻监控所述进程中鼠标的各类事件消息,当鼠标对PPT中的元素进行控制时,系统可以立即响应鼠标事件,触发对应的事件处理操作,同时通过对鼠标是否在PPT放映窗口上的判断,可以避免系统响应无意义的鼠标操作,保证鼠标操作的准确性。
进一步的,所述步骤S2包括:
将根据元素对象数组中每一个元素对象生成的区域分别与所述鼠标的元素坐标进行位置碰撞检测以确定所述鼠标的元素坐标是否落在所述区域中;
将处于所述PPT窗口的最顶层并且所述鼠标的元素坐标落在其生成的区域内的元素对象确定为所述鼠标命中元素。
由上述描述可知,利用根据元素对象生成的区域与鼠标的元素坐标进行位置碰撞检测,模拟元素对象形状,尽可能还原实际元素对象与鼠标的位置碰撞检测,减少检测的偏差,遍历检测元素对象数组中的所有元素,防止由于元素存在的重叠情况,造成单一位置碰撞检测无法找到位于页面最顶层的元素的问题,使对鼠标命中元素的检测更精确。
进一步的,所述步骤S3包括:
将所述鼠标命中元素及其索引数据、形状数据发送至一画板,使得所述画板根据所述形状数据绘制所述鼠标命中元素;
接收对所述绘制的鼠标命中元素的控制,根据所述控制确定对应的新的形状数据;
根据所述索引数据定位到所述PPT窗口中对应的实际命中元素对象;
将所述实际命中元素对象的形状数据设置为所述新的形状数据。
由上述描述可知,画板根据鼠标命中元素传递的形状数据绘制所述鼠标命中元素,使用户在操作绘制的鼠标命中元素时犹如是对实际鼠标命中元素的操控,增强PPT交互体验,且根据传递的鼠标命中元素的索引信息,可以快速定位到位于PPT放映窗口中的实际鼠标命中元素,再对所述鼠标命中元素进行新的形状数据更改,使整个控制PPT元素的过程更快捷、精确。
进一步的,所述步骤S3包括:
所述画板位于所述PPT窗口之上,并且所述画板呈半透明状态。
由上述描述可知,由于画板是位于PPT放映窗口之上半透明状的窗口,因此PPT放映窗口中的元素会透上来,间接展示了当前鼠标命中元素的形状,使用户可以更清晰的观察控制的元素,不会因为在PPT放映窗口上设置一个画板,而导致原始鼠标命中元素形状被遮挡。
实施例一
请参照图1,一种放映态下控制PPT中元素的方法,具体的,包括步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
具体的,所述步骤S1包括:
S11、判断所述PPT进程是否已经注入监视鼠标事件消息的钩子,若是,自动调用所述钩子的消息回调方法,并执行步骤S12,若否,将所述钩子注入到所述PPT进程中,并返回步骤S11;
若所述PPT进程未注入鼠标钩子,则通过SetWindowHookEx()方法将鼠标钩子注入到PPT进程中;
S12、判断鼠标是否为当前PPT放映窗口的鼠标消息对应的鼠标,若是,获取所述鼠标的点击消息,所述点击消息包括鼠标的坐标以及状态,并执行步骤S13,否若,则不处理;
其中,将鼠标的屏幕坐标转换成对应于当前PPT放映窗口的元素坐标,定义鼠标的元素坐标为P1(x1,y1);
S13、判断所述鼠标左键是否按下,若是,获取所述PPT进程的应用对象,并执行步骤S14,若否,则不处理;
具体的,当所述鼠标左键按下时,调用映射自定义的WM_LBUTTONDOWN消息方法,通过GetActiveObject()方法获取所述PPT进程的应用对象Application;
S14、通过所述PPT进程的应用对象获取当前的放映视图对象,并判断所述当前放映视图对象是否为放映状态,若是,则根据所述当前放映视图对象获取当前页的元素对象数组,并执行步骤S2,若否,则不处理。
具体的,通过所述PPT进程中的应用对象Application获取当前的文档对象Presentation,在利用文档对象获取当前的放映视图对象,并判断当前放映视图对象是否为放映状态,若是,通过当前放映视图对象的接口获取当前放映页面索引,然后通过文档对象,获取该索引的文档页对象,再从文档页对象获取当前页的元素对象数组Shapes[];
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
具体的,所述步骤S2包括:
将根据元素对象数组中每一个元素对象生成的区域分别与所述鼠标的元素坐标进行位置碰撞检测以确定所述鼠标的元素坐标是否落在所述区域中;
具体的,设置当前最大Z轴顺序MaxZ为-1,设置循环条件起点i=0,遍历元素对象数组Shapes[],在循环体中,通过元素对象数组Shapes[]的item接口,获取元素对象Shape,获取元素对象的坐标(x2,y2),宽高(w,h),旋转角度angle,Z轴顺序zorder,基于上述形状数据组成一个带角度的矩形区域Rect;
将所述矩形区域Rect与当前按下的鼠标的元素坐标P1(x1,y1)进行位置碰撞检测,判断(x1,y1)是否落在Rect区域内;
其中,碰撞检测采用PtInRect方法,对于旋转角度angle=0的元素可以直接使用PtInRect方法进行鼠标的元素坐标P1(x1,y1)和矩形区域Rect的碰撞检测,当元素旋转角度angle不为0时,需要把鼠标的元素坐标P1(x1,y1)转换到矩形区域的坐标参考系中,具体方法为:使P1以矩形区域Rect的中心点为原点逆时针旋转angle度,这样就使P1变成了P2,再由P2和矩形区域Rect调用PtInRect方法进行碰撞检测;
将处于所述PPT窗口的最顶层并且所述鼠标的元素坐标落在其生成的区域内的元素对象确定为所述鼠标命中元素;
例如当i=1时,恰巧此时鼠标的元素坐标P1(x1,y1)落在Shapes[i]对应的元素对象Shape的矩形区域上,且该元素的zorder值大于MaxZ,则令目前鼠标命中元素S1=Shape,MaxZ=zorder,由于元素存在重叠的情况,即使在已完成位置碰撞检测的元素中,匹配到一个鼠标命中元素,但不代表该元素对象数组中不存在其他元素可以与当前鼠标的元素坐标进行匹配,因此继续遍历当i=2时,Shapes[i]对应的元素对象的位置碰撞情况,直到下标i的值恰巧不超过元素对象数组的长度,由于zorder值越大,元素对象越顶层,遍历结束,即可得到处于所述PPT窗口的最顶层并且所述鼠标的元素坐标落在其矩形区域内的鼠标命中元素E1,图3和图4所示分别为PPT文档对象介绍图以及PPT文档对象层级示意图;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
具体的,所述步骤S3包括:
将所述鼠标命中元素及其索引数据、形状数据发送至一画板,使得所述画板根据所述形状数据绘制所述鼠标命中元素;
具体的,将所述鼠标命中元素E1的元素数据包括索引数据(元素所属文档ID,元素ID,所属文档页ID),形状数据(坐标,宽高,旋转角度,z轴等)发送到画板,画板根据接收到的E1的元素数据,绘制与鼠标命中元素具有相同大小的矩形区域边框E2,矩形区域边框内绘制了与鼠标命中元素相同形状和大小的图形,即通过画板以绘制的方式间接展示了鼠标命中元素;
接收对所述绘制的鼠标命中元素的控制,根据所述控制确定对应的新的形状数据;
用户操作画板中的E2,对E2进行拖动、改变大小、改变旋转角度等操作,E2生成对所述操作对应的新的形状数据;
根据所述索引数据定位到所述PPT窗口中对应的实际命中元素对象;
用户对E2操作完松开鼠标时,将E2的索引数据和形状数据发送至PPT控制模块,PPT控制模块通过索引数据定位到具体的鼠标命中元素Shape;
将所述实际命中元素对象的形状数据设置为所述新的形状数据;
通过实际鼠标命中元素Shape的Item接口设置新的形状数据;
所述画板位于所述PPT窗口之上,并且所述画板呈半透明状态。
由于现阶段无法做到复制原始元素的绘制,因此接近透明的画板窗口会使原PPT放映窗口中的命中元素透上来,间接展示了当前鼠标命中元素E1的形状。
实施例二
请参照图2,一种放映态下控制PPT中元素的终端1,包括存储器2、处理器3及存储在存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一中的各个步骤。
综上所述,本发明提供的一种放映态下控制PPT中元素的方法及终端,确定鼠标在放映态下PPT窗口中的元素坐标,并将其与PPT窗口中的每一个元素进行位置碰撞检测以确定鼠标命中元素,在所述PPT窗口中对鼠标命中元素进行绘制,通过绘制的鼠标命中元素实现对PPT窗口中对应的实际命中元素进行控制,通过向指定PPT进程中注入鼠标钩子,利用鼠标钩子的消息回调方法,确定鼠标的元素坐标及状态,时刻监控所述进程中鼠标的各类事件消息,保证系统可以立即响应鼠标事件,触发对应的事件处理操作,确保鼠标操作的精确性,获取当前PPT放映态窗口的全部元素对象,将由元素对象的形状数据组成的矩形区域与鼠标的元素坐标依次进行位置碰撞检测,减少位置碰撞检测结果的误差,利用Z轴顺序MaxZ的大小确定当前PPT放映态窗口中位于最顶层的命中元素,防止由于元素重叠情况导致的鼠标操控错误命中元素的问题,使鼠标命中元素更精确,由于无法真正做到复制原始元素的绘制,因此根据鼠标命中元素的形状数据在画板上绘制与鼠标命中元素具有相同大小的矩形区域边框,模拟鼠标命中元素的形状使用户对绘制的鼠标命中元素的控制宛如对实际鼠标命中元素的控制,增强用户体验,用户以画板中绘制的鼠标命中元素作为操作介质,利用PPT控制模块传递相应的操作信息,无需提前对PPT中某个元素设置操作脚本,即可方便快捷的实现对放映态下PPT元素的控制,丰富了放映态下的交互环境。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种放映态下控制PPT中元素的方法,其特征在于,包括步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
2.根据权利要求1所述的一种放映态下控制PPT中元素的方法,其特征在于,所述步骤S1包括:
S11、判断所述PPT进程是否已经注入监视鼠标事件消息的钩子,若是,自动调用所述钩子的消息回调方法,并执行步骤S12,若否,将所述钩子注入到所述PPT进程中,并返回步骤S11;
S12、判断鼠标是否为当前PPT放映窗口的鼠标消息对应的鼠标,若是,获取所述鼠标的点击消息,所述点击消息包括鼠标的坐标以及状态,并执行步骤S13,否若,则不处理;
S13、判断所述鼠标左键是否按下,若是,获取所述PPT进程的应用对象,并执行步骤S14,若否,则不处理;
S14、通过所述PPT进程的应用对象获取当前的放映视图对象,并判断所述当前放映视图对象是否为放映状态,若是,则根据所述当前放映视图对象获取当前页的元素对象数组,并执行步骤S2,若否,则不处理。
3.根据权利要求2所述的一种放映态下控制PPT中元素的方法,其特征在于,所述步骤S2包括:
将根据元素对象数组中每一个元素对象生成的区域分别与所述鼠标的元素坐标进行位置碰撞检测以确定所述鼠标的元素坐标是否落在所述区域中;
将处于所述PPT窗口的最顶层并且所述鼠标的元素坐标落在其生成的区域内的元素对象确定为所述鼠标命中元素。
4.根据权利要求1所述的一种放映态下控制PPT中元素的方法,其特征在于,所述步骤S3包括:
将所述鼠标命中元素及其索引数据、形状数据发送至一画板,使得所述画板根据所述形状数据绘制所述鼠标命中元素;
接收对所述绘制的鼠标命中元素的控制,根据所述控制确定对应的新的形状数据;
根据所述索引数据定位到所述PPT窗口中对应的实际命中元素对象;
将所述实际命中元素对象的形状数据设置为所述新的形状数据。
5.根据权利要求4所述的一种放映态下控制PPT中元素的方法,其特征在于,所述画板位于所述PPT窗口之上,并且所述画板呈半透明状态。
6.一种放映态下控制PPT中元素的终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取鼠标在放映态下的PPT窗口中的点击消息,确定所述鼠标的元素坐标;
S2、将所述放映态下的PPT窗口中的每一个元素分别与所述鼠标的元素坐标进行位置碰撞检测,确定鼠标命中元素;
S3、在所述放映态下的PPT窗口中对所述鼠标命中元素进行绘制,接收对所述绘制的鼠标命中元素的控制并将所述控制传递给PPT窗口中对应的实际命中元素。
7.根据权利要求6所述的一种放映态下控制PPT中元素的终端,其特征在于,所述步骤S1包括:
S11、判断所述PPT进程是否已经注入监视鼠标事件消息的钩子,若是,自动调用所述钩子的消息回调方法,并执行步骤S12,若否,将所述钩子注入到所述PPT进程中,并返回步骤S11;
S12、判断鼠标是否为当前PPT放映窗口的鼠标消息对应的鼠标,若是,获取所述鼠标的点击消息,所述点击消息包括鼠标的坐标以及状态,并执行步骤S13,否若,则不处理;
S13、判断所述鼠标左键是否按下,若是,获取所述PPT进程的应用对象,并执行步骤S14,若否,则不处理;
S14、通过所述PPT进程的应用对象获取当前的放映视图对象,并判断所述当前放映视图对象是否为放映状态,若是,则根据所述当前放映视图对象获取当前页的元素对象数组,并执行步骤S2,若否,则不处理。
8.根据权利要求7所述的一种放映态下控制PPT中元素的终端,其特征在于,所述步骤S2包括:
将根据元素对象数组中每一个元素对象生成的区域分别与所述鼠标的元素坐标进行位置碰撞检测以确定所述鼠标的元素坐标是否落在所述区域中;
将处于所述PPT窗口的最顶层并且所述鼠标的元素坐标落在其生成的区域内的元素对象确定为所述鼠标命中元素。
9.根据权利要求6所述的一种放映态下控制PPT中元素的终端,其特征在于,所述步骤S3包括:
将所述鼠标命中元素及其索引数据、形状数据发送至一画板,使得所述画板根据所述形状数据绘制所述鼠标命中元素;
接收对所述绘制的鼠标命中元素的控制,根据所述控制确定对应的新的形状数据;
根据所述索引数据定位到所述PPT窗口中对应的实际命中元素对象;
将所述实际命中元素对象的形状数据设置为所述新的形状数据。
10.根据权利要求9所述的一种放映态下控制PPT中元素的终端,其特征在于,所述画板位于所述PPT窗口之上,并且所述画板呈半透明状态。
CN201911104892.9A 2019-11-13 2019-11-13 一种放映态下控制ppt中元素的方法及终端 Active CN112799568B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911104892.9A CN112799568B (zh) 2019-11-13 2019-11-13 一种放映态下控制ppt中元素的方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911104892.9A CN112799568B (zh) 2019-11-13 2019-11-13 一种放映态下控制ppt中元素的方法及终端

Publications (2)

Publication Number Publication Date
CN112799568A true CN112799568A (zh) 2021-05-14
CN112799568B CN112799568B (zh) 2022-04-12

Family

ID=75803111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911104892.9A Active CN112799568B (zh) 2019-11-13 2019-11-13 一种放映态下控制ppt中元素的方法及终端

Country Status (1)

Country Link
CN (1) CN112799568B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365980A (zh) * 2013-07-04 2013-10-23 贾建仓 基于幻灯片播放的内容动态调整方法
CN103747027A (zh) * 2013-11-12 2014-04-23 广州华多网络科技有限公司 白板信息同步显示方法和系统
CN105630939A (zh) * 2015-12-23 2016-06-01 深圳宸睿科技有限公司 一种通用画布输入接口设计方法及装置
CN106462558A (zh) * 2014-10-30 2017-02-22 微软技术许可有限责任公司 用于合成混合幻灯片‑画布演示的创作工具
CN108304242A (zh) * 2018-02-05 2018-07-20 武汉斗鱼网络科技有限公司 实现鼠标事件穿透的方法、相关存储介质、设备和装置
WO2019063495A2 (en) * 2017-09-29 2019-04-04 Inventrans Bvba METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAPING GRAPHIC IMAGE
CN110109594A (zh) * 2019-04-30 2019-08-09 北京大米科技有限公司 一种绘图数据分享方法、装置、存储介质以及设备
CN110176049A (zh) * 2019-05-28 2019-08-27 成都依能科技股份有限公司 电子板书生成图片及ppt的方法
CN110174957A (zh) * 2019-05-28 2019-08-27 成都依能科技股份有限公司 基于ppt演示的电子板书的书写方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365980A (zh) * 2013-07-04 2013-10-23 贾建仓 基于幻灯片播放的内容动态调整方法
CN103747027A (zh) * 2013-11-12 2014-04-23 广州华多网络科技有限公司 白板信息同步显示方法和系统
CN106462558A (zh) * 2014-10-30 2017-02-22 微软技术许可有限责任公司 用于合成混合幻灯片‑画布演示的创作工具
CN105630939A (zh) * 2015-12-23 2016-06-01 深圳宸睿科技有限公司 一种通用画布输入接口设计方法及装置
WO2019063495A2 (en) * 2017-09-29 2019-04-04 Inventrans Bvba METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAPING GRAPHIC IMAGE
CN108304242A (zh) * 2018-02-05 2018-07-20 武汉斗鱼网络科技有限公司 实现鼠标事件穿透的方法、相关存储介质、设备和装置
CN110109594A (zh) * 2019-04-30 2019-08-09 北京大米科技有限公司 一种绘图数据分享方法、装置、存储介质以及设备
CN110176049A (zh) * 2019-05-28 2019-08-27 成都依能科技股份有限公司 电子板书生成图片及ppt的方法
CN110174957A (zh) * 2019-05-28 2019-08-27 成都依能科技股份有限公司 基于ppt演示的电子板书的书写方法

Also Published As

Publication number Publication date
CN112799568B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US11966758B2 (en) Method and system for accessing table content in a digital image of the table
JP2544116B2 (ja) マルチ処理ウインドウ表示方法
JP2018535459A (ja) ロボットによるプロセス自動化
US10810113B2 (en) Method and apparatus for creating reference images for an automated test of software with a graphical user interface
US5956032A (en) Signalling a user attempt to resize a window beyond its limit
JPH07200880A (ja) オブジェクトの簡単な操作と表示を可能にするための3dオブジェクトへのスライダの接続
CN105094617A (zh) 一种截屏方法及装置
WO2019105191A1 (zh) 多元素交互方法、装置、设备和存储介质
CN111142669B (zh) 二维界面到三维场景的交互方法、装置、设备及存储介质
JP2007004228A (ja) ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム
CN104246696A (zh) 基于图像的应用自动化
CN107391914B (zh) 一种参数显示方法、装置及设备
CN115546410A (zh) 窗口展示方法、装置、电子设备及存储介质
CN112799568B (zh) 一种放映态下控制ppt中元素的方法及终端
CN113051022A (zh) 图形界面的处理方法及图形界面处理装置
CN114911402B (zh) 远程应用和本地系统间的拖拽交互方法及系统
WO2023173726A1 (zh) 交互方法、装置及存储介质
CN108920230B (zh) 鼠标悬浮操作的响应方法、装置、设备和存储介质
US20020002629A1 (en) Method and system for interfacing application software with electronic writeboard
CN113867580B (zh) 窗口内指针的显示控制方法及装置、设备、存储介质
CN110794986A (zh) 基于红外触控框的会议平板控制方法、装置及会议平板
CN115048008B (zh) 一种hmi画面中对象的可视化方法和设备
CN112540711B (zh) 一种在网页端选取三维空间物体的控制方法、装置及设备
CN110737383B (zh) 元素添加方法、装置和电子设备

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
GR01 Patent grant
GR01 Patent grant