[发明专利]一种透明浮动可拖拽列表生成方法以及系统在审
申请号: | 201710597276.6 | 申请日: | 2017-07-20 |
公开(公告)号: | CN107391002A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 吕军亮;胡潜;郭伟立 | 申请(专利权)人: | 上海金大师网络科技有限公司 |
主分类号: | G06F3/0486 | 分类号: | G06F3/0486;G06F3/0487;G06F3/0481 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 201702 上海市青浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 透明 浮动 可拖拽 列表 生成 方法 以及 系统 | ||
技术领域
本发明涉及到MFC(Microsoft Foundation Classes,微软基础类库)列表控制技术领域,具体地涉及到一种透明浮动可拖拽列表生成方法和系统。
背景技术
现有的MFC框架提供了可展示用户数据的列表控件,可通过微软提供的系统接口对列表控件进行增删改查以及排序操作,但原生列表不具备动态拖拽排序功能。MFC为实现对象拖放提供了如下类:
COleDataSource、COleDropSource、COleDropTarget、COleDataObject。
MFC通过提供COleDropTarget和CView类来支持拖放操作的接收。在CView及其继承类中创建COleDropTarget类对象,并在视图窗口初始化时,调用其成员函数Register(),以此在系统中注册该视图窗口为拖放接收窗口。当进行拖放操作的鼠标指针处于视图窗口范围内时,COleDropTarge类的OnDragEnter、OnDragOver、OnDropEx、OnDrop等成员函数被依次调用,这些函数默认调用与其相对应的CView类成员函数OnDragEnter、OnDragOver、OnDropEx、OnDrop等,在这些CView类成员函数中,用户可对拖动的过程及结果进行控制。但MFC这种内在的对拖放的实现是很不够的,一个用户界面友好的应用程序,很多时候要求不仅view视图窗口支持拖放,而且对话框以及编辑框,列表等控制也需要拖放的支持。目前,现有技术还不能解决上述问题。
发明内容
针对上述技术问题,本发明的目的在于提供一种透明浮动可拖拽列表生成方法和系统。
为实现上述目的,本发明是根据以下技术方案实现的:
本发明的一种透明浮动可拖拽列表生成方法,包括如下步骤:
步骤S1:捕获鼠标拖拽动作,并生成与被拖拽行大小相同的对话框;
步骤S2:复制被拖拽行的像素到对话框中,并添加半透明效果;
步骤S3:跟踪鼠标位置,移动对话框;若鼠标结束拖拽,则关闭对话框,将被拖拽行插入到鼠标松开位置。
上述技术方案中,所述步骤S1具体包括:
步骤S101:通过消息中心捕获用户的鼠标拖拽动作;
步骤S102:根据用户点击鼠标左键或者右键时对应鼠标位置的Y轴坐标生成一个和被拖拽行大小相同的对话框。
上述技术方案中,所述步骤S2包括:
步骤S201:通过DC复制技术复制被拖拽行的像素,像素复制到DC图层上,将DC图层贴到对话框上,显示对话框;
步骤S202:利用gdi双缓冲绘图将被拖拽行的像素复制到对话框中,将DC图层贴到对话框上,并在对话框中添加半透明效果。
上述技术方案中,所述步骤3包括:
步骤S301:用户点击鼠标左键或者右键并拖拽鼠标位置时,对话框跟踪鼠标拖拽的运行轨迹跟随鼠标发生移动;
步骤S302:判断用户松开鼠标左键或者右键时鼠标Y轴坐标对应位置是否处于列表范围内,若处于列表范围内,则关闭透明对话框,对整个列表进行重新排序,即将被拖拽行插入到鼠标松开位置处鼠标Y轴坐标对应所在的行,结束流程;若不处于列表范围内,则关闭透明对话框,拖拽失败,列表顺序保持不变。
本发明的一种透明浮动可拖拽列表生成系统,其特征在于,包括:
对话框生成模块:捕获鼠标拖拽动作,并生成与被拖拽行大小相同的对话框;
透明效果生成模块:复制被拖拽行的像素到对话框中,并添加半透明效果;
重新排序模块:跟踪鼠标位置,移动对话框;若鼠标结束拖拽,则关闭对话框,将被拖拽行插入到鼠标松开位置。
上述技术方案中,所述对话框生成模块包括:
鼠标拖拽动作捕获子模块:通过消息中心捕获用户的鼠标拖拽动作;
定位坐标对话框生成子模块:根据用户点击鼠标左键或者右键时对应鼠标位置的Y轴坐标生成一个和被拖拽行大小相同的对话框。
上述技术方案中,所述透明效果生成模块包括:
像素复制子模块:通过DC复制技术复制被拖拽行的像素,像素复制到DC图层上,将DC图层贴到对话框上,显示对话框;
透明效果添加子模块:利用gdi双缓冲绘图将被拖拽行的像素复制到对话框中,将DC图层贴到对话框上,并在对话框中添加半透明效果。
上述技术方案中,所述重新排序模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金大师网络科技有限公司,未经上海金大师网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710597276.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种屏幕滚动方法及其装置、电子设备
- 下一篇:导航数据处理方法