一种windows中窗口菜单的实现方法及装置制造方法及图纸

技术编号:18349708 阅读:58 留言:0更新日期:2018-07-01 22:25
本发明专利技术公开一种windows中窗口菜单的实现方法及装置,所述方法包括:创建主窗口,并将所述主窗口设置为层窗口属性;接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口;继承主窗口实现菜单窗口;在所述菜单窗口上创建N个菜单项;所述N个菜单项中的每个菜单项均为所述菜单窗口的自定义类;N为自然数;获取所述N个菜单项中每个菜单项对应的菜单内容信息,并根据所述菜单内容信息显示所述N个菜单项。本申请提供的方法和装置可以解决现有技术中windows的窗口菜单实现方式,存在的形式单一,不能符合用户个性化需求的技术问题。实现了提高窗口菜单的丰富性及灵活性的技术效果。

【技术实现步骤摘要】
一种windows中窗口菜单的实现方法及装置
本专利技术涉及计算机
,尤其涉及一种windows中窗口菜单的实现方法及装置。
技术介绍
当前,随着网络技术的发展,各种不同类型及风格的应用程序层出不穷,由于各种应用程序的交互界面风格及需要的交互界面类型各不相同,对应用程序窗口菜单的要求也不相同。在windows桌面程序开发中经常使用到菜单,windows自身也提供了菜单的相关操作,然而windows原生的菜单使用中有很大的局限性,菜单样式难以控制,菜单项里面也难以嵌入操作。例如,现有Window窗口限制必须有背景颜色,而且所述背景颜色还不能支持透明度的混合效果。因此背景透明的效果很难实现。如果直接使用系统接口SetLayeredWindowAttributes设置透明属性,则不仅窗口透明,窗口里面的控件、文字等全部内容也跟着变成透明的。可见,现有技术中windows的窗口菜单实现方式,存在形式单一,不能符合用户个性化需求的技术问题。
技术实现思路
本专利技术提供一种windows中窗口菜单的实现方法及装置,用以解决现有技术中windows的窗口菜单实现方式,存在的形式单一,不能符合用户个性化需求的技术问题。第一方面,本专利技术提供了一种windows中窗口菜单的实现方法,包括:创建主窗口,并将所述主窗口设置为层窗口属性;接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口;继承所述主窗口实现菜单窗口;在所述菜单窗口上创建N个菜单项;所述N个菜单项中的每个菜单项均为所述菜单窗口的自定义类;N为自然数;获取所述N个菜单项中每个菜单项对应的菜单内容信息,并根据所述菜单内容信息显示所述N个菜单项。可选的,所述创建主窗口,并将所述主窗口设置为层窗口属性,包括:采用create函数创建所述主窗口;设置所述主窗口的属性为WS_EX_LAYERED属性。可选的,所述接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口,包括:接收作用于所述主窗口的第一绘制操作;基于所述第一绘制操作,获取与所述第一绘制操作对应的主绘制内容信息,并将所述主绘制内容信息存储在内存中;将所述内存中存储的所述主绘制内容信息刷新显示至所述主窗口。可选的,所述主绘制内容信息为带透明度通道值的信息,以使所述主绘制内容信息对应的显示内容的透明度能独立于所述主窗口设置。可选的,所述在所述菜单窗口上创建N个菜单项,包括:接收用于在所述菜单窗口上的指定N个位置的指定操作;基于所述指定操作,获取所述N个位置的N个位置信息;基于所述N个位置信息,在所述N个位置创建并显示所述N个菜单项。可选的,所述在所述N个位置创建并显示所述N个菜单项,包括:通过TrackPopupMenu函数,在所述N个位置创建并显示所述N个菜单项。可选的,所述根据所述菜单内容信息显示所述N个菜单项之后,还包括:接收作用在所述菜单窗口上的第一位置的选择操作;基于所述选择操作生成携带有所述第一位置对应的位置描述信息的选择消息;根据所述位置描述信息,从所述N个菜单项中确定出与所述第一位置对应的第一菜单项;所述菜单窗口传递所述选择消息至所述第一菜单项;所述第一菜单项响应所述选择消息。第二方面,本专利技术还提供了一种windows中窗口菜单的实现装置,包括:主创建模块,用于创建主窗口,并将所述主窗口设置为层窗口属性;主绘制模块,用于接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口;继承模块,用于继承所述主窗口实现菜单窗口;菜单创建模块,用于在所述菜单窗口上创建N个菜单项;所述N个菜单项中的每个菜单项均为所述菜单窗口的自定义类;N为自然数;菜单绘制模块,用于获取所述N个菜单项中每个菜单项对应的菜单内容信息,并根据所述菜单内容信息显示所述N个菜单项。可选的,所述菜单创建模块还用于:接收用于在所述菜单窗口上的指定N个位置的指定操作;基于所述指定操作,获取所述N个位置的N个位置信息;基于所述N个位置信息,在所述N个位置创建并显示所述N个菜单项。可选的,所述装置还包括响应模块,所述响应模块用于:接收作用在所述菜单窗口上的第一位置的选择操作;基于所述选择操作生成携带有所述第一位置对应的位置描述信息的选择消息;根据所述位置描述信息,从所述N个菜单项中确定出与所述第一位置对应的第一菜单项;所述主窗口传递所述选择消息至所述第一菜单项;所述第一菜单项响应所述选择消息。本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请实施例提供的方法及装置,通过创建层窗口属性的主窗口,再继承所述主窗口实现菜单窗口,再以所述菜单窗口的自定义类的形式在所述菜单窗口上创建菜单项,从而实现所述主窗口上的绘制内容及所述菜单窗口中的菜单项均能独立于所述主窗口来设置显示属性,且由于所述菜单项为自定义类,故还可以在所述菜单项中自定义设置交互控件UI,有效的增加了窗口菜单的可自制性,使用户能按照自身需求设置所述窗口菜单,提高了窗口菜单的丰富性及灵活性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中windows中窗口菜单的实现方法的流程图;图2为本专利技术实施例中windows中窗口菜单的实现装置的结构示意图。具体实施方式本申请实施例通过提供一种windows中窗口菜单的实现方法及装置,用以解决现有技术中windows的窗口菜单实现方式,存在的形式单一,不能符合用户个性化需求的技术问题。实现了提高窗口菜单的丰富性及灵活性的技术效果。本申请实施例中的技术方案,总体思路如下:创建主窗口,并将所述主窗口设置为层窗口属性;接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口;继承所述主窗口实现菜单窗口;在所述菜单窗口上创建N个菜单项;所述N个菜单项中的每个菜单项均为所述菜单窗口的自定义类;N为自然数;获取所述N个菜单项中每个菜单项对应的菜单内容信息,并根据所述菜单内容信息显示所述N个菜单项。上述方法通过创建层窗口属性的主窗口,再继承所述主窗口实现菜单窗口,再以所述菜单窗口的自定义类的形式在所述菜单窗口上创建菜单项,从而实现所述主窗口上的绘制内容及所述菜单窗口中的菜单项均能独立于所述主窗口来设置显示属性,且由于所述菜单项为自定义类,故还可以在所述菜单项中自定义设置交互控件UI,有效的增加了窗口菜单的可自制性,使用户能按照自身需求设置所述窗口菜单,提高了窗口菜单的丰富性及灵活性。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本本文档来自技高网...
一种windows中窗口菜单的实现方法及装置

【技术保护点】
1.一种windows中窗口菜单的实现方法,其特征在于,包括:创建主窗口,并将所述主窗口设置为层窗口属性;接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口;继承所述主窗口实现菜单窗口;在所述菜单窗口上创建N个菜单项;所述N个菜单项中的每个菜单项均为所述菜单窗口的自定义类;N为自然数;获取所述N个菜单项中每个菜单项对应的菜单内容信息,并根据所述菜单内容信息显示所述N个菜单项。

【技术特征摘要】
1.一种windows中窗口菜单的实现方法,其特征在于,包括:创建主窗口,并将所述主窗口设置为层窗口属性;接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口;继承所述主窗口实现菜单窗口;在所述菜单窗口上创建N个菜单项;所述N个菜单项中的每个菜单项均为所述菜单窗口的自定义类;N为自然数;获取所述N个菜单项中每个菜单项对应的菜单内容信息,并根据所述菜单内容信息显示所述N个菜单项。2.如权利要求1所述的方法,其特征在于,所述创建主窗口,并将所述主窗口设置为层窗口属性,包括:采用create函数创建所述主窗口;设置所述主窗口的属性为WS_EX_LAYERED属性。3.如权利要求1所述的方法,其特征在于,所述接收作用于所述主窗口的第一绘制操作,并将所述第一绘制操作对应的主绘制内容信息显示在所述主窗口,包括:接收作用于所述主窗口的第一绘制操作;基于所述第一绘制操作,获取与所述第一绘制操作对应的主绘制内容信息,并将所述主绘制内容信息存储在内存中;将所述内存中存储的所述主绘制内容信息刷新显示至所述主窗口。4.如权利要求3所述的方法,其特征在于,所述主绘制内容信息为带透明度通道值的信息,以使所述主绘制内容信息对应的显示内容的透明度能独立于所述主窗口设置。5.如权利要求1所述的方法,其特征在于,所述在所述菜单窗口上创建N个菜单项,包括:接收用于在所述菜单窗口上的指定N个位置的指定操作;基于所述指定操作,获取所述N个位置的N个位置信息;基于所述N个位置信息,在所述N个位置创建并显示所述N个菜单项。6.如权利要求5所述的方法,其特征在于,所述在所述N个位置创建并显示所述N个菜单项,包括:通过TrackPopupMenu函数,在所述N个位置创建...

【专利技术属性】
技术研发人员:田东辉徐超
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1