[发明专利]一种Windows应用程序多窗口并行绘图的方法及系统有效
申请号: | 201710519798.4 | 申请日: | 2017-06-30 |
公开(公告)号: | CN107357576B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 程时宋;陈秋龙;黄东豹;张琳 | 申请(专利权)人: | 惠州市德赛西威汽车电子股份有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F3/0488 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 温旭 |
地址: | 516006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 windows 应用程序 窗口 并行 绘图 方法 系统 | ||
1.一种Windows应用程序多窗口并行绘图的方法,其特征在于,包括:
创建主窗口及其所属的多个子窗口,并为所述主窗口和子窗口创建一个全局静态内存空间和全局静态内存位图;
创建Windows应用程序的一个类库,从所述类库中调用OnPaint()函数执行主窗口的界面描绘操作,将主窗口的描绘结果存放到所述全局静态内存空间;
根据主窗口的标志位,判断主窗口是否首次执行OnPaint()函数的描绘操作;
若是,则在OnPaint()函数的描绘操作中枚举并描绘主窗口所包含的所有子窗口,将描绘结果存放在所述全局静态内存空间中并输出显示;若否,则直接将所述全局静态内存空间中存放的描绘结果输出显示。
2.如权利要求1所述的Windows应用程序多窗口并行绘图的方法,其特征在于,所述在OnPaint()函数的描绘操作中枚举并描绘主窗口所包含的所有子窗口,将描绘结果存放在所述全局静态内存空间中,包括:
在主窗口调用OnPaint()函数枚举当前主窗口所包含的所有子窗口,获取各个子窗口的句柄,并在所述全局静态内存空间中存放待描绘的子窗口描绘队列;
向每一个子窗口发送自定义描绘消息;
各个子窗口分别响应相应的自定义描绘消息,执行并行的子窗口描绘操作并将绘图结果放到所述全局静态内存空间;
清空所述全局静态内存空间中的子窗口描绘队列,并更新主窗口的标志位。
3.如权利要求2所述的Windows应用程序多窗口并行绘图的方法,其特征在于,所述各个子窗口分别响应相应的自定义描绘消息,执行并行的子窗口描绘操作,具体包括:
注册自定义描绘消息;
各个子窗口根据接收的自定义描绘消息,分别对OnPaint()函数的描绘操作进行响应,并根据子窗口的标志位判断当前子窗口是否首次执行OnPaint()函数的描绘操作;
若是,则重置当前子窗口的标志位并将所述全局静态内存空间中存储的绘图结果输出显示;若否,则执行当前子窗口的描绘,并将描绘结果存放在所述全局静态内存空间中并输出显示。
4.一种Windows应用程序多窗口并行绘图的系统,其特征在于,包括:
窗口配置模块,用于创建主窗口及其所属的多个子窗口,并为所述主窗口和子窗口创建一个全局静态内存空间和全局静态内存位图;
主窗口描绘模块,用于创建Windows应用程序的一个类库,从所述类库中调用OnPaint()函数执行主窗口的界面描绘操作,将主窗口的描绘结果存放到所述全局静态内存空间;
主窗口状态检测模块,用于根据主窗口的标志位,判断主窗口是否首次执行OnPaint()函数的描绘操作;
子窗口描绘模块,用于在主窗口首次执行OnPaint()函数的描绘操作时,OnPaint()函数的描绘操作中枚举并描绘主窗口所包含的所有子窗口,将描绘结果存放在所述全局静态内存空间中;
描绘结果输出模块,用于当主窗口不是首次执行OnPaint()函数的描绘操作时,将所述全局静态内存空间中存放的描绘结果输出显示。
5.如权利要求4所述的Windows应用程序多窗口并行绘图的系统,其特征在于,所述子窗口描绘模块,包括:
枚举模块,用于在主窗口调用OnPaint()函数枚举当前主窗口所包含的所有子窗口,获取各个子窗口的句柄,并在所述全局静态内存空间中存放待描绘的子窗口描绘队列;
消息发送模块,用于向每一个子窗口发送自定义描绘消息;
子窗口响应模块,用于各个子窗口分别响应相应的自定义描绘消息,执行并行的子窗口描绘操作并将绘图结果放到所述全局静态内存空间;
更新模块,用于清空所述全局静态内存空间中的子窗口描绘队列,并更新主窗口的标志位。
6.如权利要求5所述的Windows应用程序多窗口并行绘图的系统,其特征在于,所述子窗口响应模块,包括:
注册模块,用于注册自定义描绘消息;
消息应答模块,用于各个子窗口根据接收的自定义描绘消息,分别对OnPaint()函数的描绘操作进行响应;
子窗口状态检测模块,用于根据子窗口的标志位判断当前子窗口是否首次执行OnPaint()函数的描绘操作;
操作返回模块,用于在当前子窗口首次执行OnPaint()函数的描绘操作时,重置当前子窗口的标志位,并驱动所述描绘结果输出模块将所述全局静态内存空间中存储的绘图结果输出显示;
子窗口描绘执行模块,用于在当前子窗口并非首次执行OnPaint()函数的描绘操作时,执行当前子窗口的描绘,将描绘结果存放在所述全局静态内存空间中,并驱动所述描绘结果输出模块将所述描绘结果输出显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州市德赛西威汽车电子股份有限公司,未经惠州市德赛西威汽车电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710519798.4/1.html,转载请声明来源钻瓜专利网。