我希望在我的表单在屏幕上被传统的“鼠标左键放在 Headers 栏上并拖到新位置”后运行一段代码 . OnMouseUp仅适用于表单本身,而不适用于 Headers 栏上的鼠标单击 .
这是C和Win32应用程序 .
谢谢,russ
更新1:显示我根据雷米的答案实施的代码 . 我从其他帖子实现了他的代码,然后在交换机(uMsg)中添加了另一个项目来捕获WM_MOVE消息 . 这没用 .
case WM_MOVE:
{
ShowMessage("Moved");
}
更新2:我根据雷米的评论将上述内容从 WM_MOVE
更改为 WM_EXITSIZEMOVE
,现在效果很好 . 我通过移动表单时发射一次 .
case WM_EXITSIZEMOVE:
{
ShowMessage("Moved");
}
正是我想要的 .
1 回答
FireMonkey本身并不支持您的要求 . 您必须手动子类化Form的HWND(请参阅this answer)以拦截WM_MOVING,WM_MOVE,WM_ENTERSIZEMOVE,WM_EXITSIZEMOVE等消息 .