<b>WINDOWS窗口的客户区域拖动技术及其利用</b>[VC/C++编程]
本文“<b>WINDOWS窗口的客户区域拖动技术及其利用</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
WINDOWS利用程序窗口普通包含两种:普通窗口和常居顶层的无标题条高级窗口.前者是由WINDOWS内部功效定制的,它具有WINDOWS利用程序窗口的全部普通特点:具有标题条、窗口边框、最大化按钮、最小化按钮和系统默许的快速键及鼠标支持功效等,操纵鼠标左键拖动该种窗口的标题条可以在屏幕上肆意移动窗口,当鼠标光标停在窗口边框上时可以改变窗口大小;后者是一种定制的高级窗口,它不具有普通窗口的任何属性,整个窗口的掌握必须由编程者来一一肯定,利用这种窗口的典型实例有WINDOWS中的IME输入法利用程序、UCWIN4.0平台、各种浮竣工具箱、OFFICE中的桌面工具栏和第三方开辟的汉字输入平台等.
WINDOWS 这种无标题条常居顶层高级窗口的一个明显特点是,不需改变窗口大小但必须具有窗口的客户区域拖动功效.由于普通窗口的拖动功效是由系统来完成的,编制普通的利用程序按照无须考虑客户区域拖动问题,因此普通编程人员很难碰到这个问题,更谈不上若何实现这一功效了.开辟者常常但愿自己开辟出来的软件具有经典软件中的窗口客户区域拖动功效,笔者曾经操纵模拟系统鼠标点击标题条拖动窗口和WINDOWS系统内部供应的API发送函数发送内部拖动号令来实现无标题常居顶层高级窗口的客户拖动功效,后果都不睬想.后来只好在窗口函数中通过直接处理WM_LBUTTONDOWN、WM_MOUSEMOVE和WM_LBUTTONUP消息,自行掌握窗口拖动的客户号令区、拖动开始、窗口移动、拖动虚框绘制、虚框移动和拖动完毕等历程,来实现高级顶层窗口的客户区域拖动筹划.下面就自己实践经验具体介绍实现该筹划的具体办法和主要本领.
1、WINDOWS检测客户拖动号令及鼠标光标动态提醒的实现办法
WINDOWS 无标题条常居顶层高级窗口的客户区域普通分为两种:特定客户号令区域和非特定客户号令区域.特定客户号令区域是指操纵"RECT"定义的特定子矩形区域,窗口函数对发生在该区域内的鼠标号令举行检测并处理;非特定客户号令区域是指没有明肯定义的窗口客户区域部份,即全部特定客户号令区域之外的部份,窗口函数按照实际需求来肯定能否对该区域内发生的鼠标号令举行处理.实现常居顶层高级窗口拖动功效的主要问题,是若何检测和处理特定客户号令区域和非特定客户号令区域内的鼠标号令,以及若何操纵鼠标光标来动态提醒用户此时可以举行窗口的拖动操作.
以上是“<b>WINDOWS窗口的客户区域拖动技术及其利用</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |