[发明专利]一种实现窗口大小位置自动调整的方法在审
申请号: | 201710017530.0 | 申请日: | 2017-01-11 |
公开(公告)号: | CN106897056A | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 娄国栋 | 申请(专利权)人: | 山东华软金盾软件股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 济南泉城专利商标事务所37218 | 代理人: | 李桂存 |
地址: | 250101 山东省济南市高新区舜华路1号齐鲁*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种实现窗口大小位置自动调整的方法,该方法通过子类化的方式设置子控件调整规则,相对调用者透明的调整窗口子控件的大小和位置,设置完成后不需要用户继续干预,自动的进行调整;本发明高效准确,所有的控件统一的进行处理调整,不在需要分别的进行处理;兼容性好,通过底层API实现,支持纯粹SDK开发的视图界面程序,支持MFC、WTL等框架开发的视图界面程序。 | ||
搜索关键词: | 一种 实现 窗口 大小 位置 自动 调整 方法 | ||
【主权项】:
一种实现窗口大小位置自动调整的方法,其特征在于:包括以下步骤:S01)、设置窗口调整规则,然后获取当前父窗口的尺寸、调整规则中子控件的尺寸,缓存到内存中;S02)、通过SetWindowLogPtr子类化目标窗口,截获目标窗口的WM_SIZE消息;S03)、子类化父窗口成功之后读取用户设置的规则列表,并将该窗体控件的设置参数加入全局缓存中,通过哈希表和父窗口的窗口句柄形成映射备用;S04)、在设置的窗口消息回调函数中处理WM_SIZE消息,收到该消息后,根据全局缓存中的子控件调整规则设置子控件的大小或者位置,设置完成之后通过InvalidateRect重绘窗口让调整立即生效,处理完成后从缓存中查找出该窗口子类化之前的窗口过程,继续调用该窗口过程让原来的窗口过程能够继续处理该消息;S05)、处理WM_DESTROY消息,进行内存中缓存数据的清理工作,将该窗口的缓存数据删掉。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东华软金盾软件股份有限公司,未经山东华软金盾软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710017530.0/,转载请声明来源钻瓜专利网。