当鼠标拖动时Windows 首先会向鼠标下的窗口发送一个 wm_nchittest 消息, 窗口收到这个消息后再由窗口的消息处理函数进行处理,消息处理函数将 会返回一个整数表示鼠标正处于窗口的什么部位。大家只需要知道的是处理函数 返回2, 表示鼠标正处于窗口的标题栏上。根据这一点,我们只要截获这条消息, 然后直接返回2。这样不管鼠标真正位于窗口的什 么部位, WINDOWS 一律认为鼠标位于标题栏上。因此,用户自然可以拖动窗口。 下面是具体的步骤: 1 为窗口定义用户自定义事件 Event Name: ue_nchittest Event ID: pbm_nchittest 在事件 ue_nchittest 中编写代码 Return 2 可用这种方法为 Button 、Text 等可视控件也加上上述的事件与代码(关于WM-NCHITTEST可参考winuser.h)</p> 拖动无标题窗口还有一种方法,在窗口的 MouseDown 事件中编写如下脚本 Send ( Handle( this ), 274, 61458, 0 ) (在pbm_mousemove event中有何效果?^-^) |