WINAPI / C ++:移动无边界窗口

用户2553662

我使用以下样式创建了无边界窗口: WS_VISIBLE | WS_POPUP | WS_OVERLAPPED

问题在于该窗口无法移动。我知道我可以做一些事情,例如获取鼠标单击位置,然后计算每次出现时窗口将结束的位置WM_MOUSEMOVE

但是这种解决方案并不稳定,因为当我过快地移动鼠标时,它会跳出窗口,然后它不会做出反应。我不想设置一个钩子,因为它们太慢了。我已经搜索了互联网,但是什么都没有出现。

我理想的情况是创建一个可以无边界或无标题移动的窗口,我不需要自己跟踪鼠标,但是Windows可以为我完成此操作,例如使整个窗口成为标题。

詹姆斯德林

我知道我可以做一些事情,例如获取鼠标单击位置,然后计算每次出现时窗口将结束的位置WM_MOUSEMOVE但是这种解决方案并不稳定,因为当我过快地移动鼠标时,它会跳出窗口,然后它不会做出反应。

您可以通过SetCapture在收到鼠标单击时进行调用来解决此问题然后,WM_MOUSEMOVE即使鼠标光标离开窗口,您仍将继续接收当用户完成拖动并释放鼠标光标后,您应该调用ReleaseCapture

我理想的情况是创建一个可以无边界或无标题移动的窗口,我不需要自己跟踪鼠标,但是Windows可以为我完成此操作,例如使整个窗口成为标题。

如果您确实要这样做,则可以回复该WM_NCHITTEST消息并返回HTCAPTION

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++ WinAPI老式窗口

来自分类Dev

如何移动无边界窗口?

来自分类Dev

如何移动无边界窗口?

来自分类Dev

Windows窗体移动无边界窗口

来自分类Dev

WinAPI C ++:重新编程窗口调整大小

来自分类Dev

C ++ WinApi将图像.jpg绘制到新窗口?

来自分类Dev

如何在C ++ WINAPI的窗口内绘制图标?

来自分类Dev

类内部的C ++ Winapi窗口进程不起作用

来自分类Dev

C ++ winapi截屏并使其成为窗口背景

来自分类Dev

如何在 C - WinAPI 中打印活动窗口的标题

来自分类Dev

C++ winApi 无法处理子窗口事件

来自分类Dev

Delphi:在移动时调整Winapi窗口的大小

来自分类Dev

C ++ Winapi waveOutSetVolume()

来自分类Dev

C ++ Winapi提升

来自分类Dev

C++ WinAPI ReadProcessMemory

来自分类Dev

WINAPI窗口,未创建

来自分类Dev

WinAPI查找窗口

来自分类Dev

WINAPI窗口,未创建

来自分类Dev

创建无边界DirectShow窗口

来自分类Dev

C ++ WinAPI需要帮助,以编程方式用左键单击任务栏使窗口最小化

来自分类Dev

C ++ WinAPI使用DWM在自定义窗口框架上显示位图

来自分类Dev

C ++ Windows代码中有什么方法可以阻止鼠标移动oustide窗口边界

来自分类Dev

C ++ Winapi-动画背景的MPEG电影

来自分类Dev

确保线程已启动WinAPI C ++

来自分类Dev

C ++ WinAPI TextOut()更新文本

来自分类Dev

GetOpenFileName时出现C ++ WinAPI错误

来自分类Dev

C ++ WINAPI调用通过GetProcAddress导出的函数

来自分类Dev

如何链接包含WinAPI的C代码?

来自分类Dev

C ++ Winapi-动画背景的MPEG电影