如何在 PB 中实现无标题可拖动的窗口
当鼠标拖动时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 )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统