★★WM_WINDOWPOSCHANGING这个消息如何截获?

onlydelphiandi 2003-08-02 10:11:13
★★WM_WINDOWPOSCHANGING这个消息如何截获?
在窗体上放一个ApplicationEvents1控件,在其OnMessage事件中加上:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if msg.message = WM_WINDOWPOSCHANGING then
begin
messagebeep(mb_ok);
end;
end;
在窗体上放一个Button1,在起OnClick事件中加上:
procedure TForm1.Button1Click(Sender: TObject);
begin
sendmessage(form1.Handle,WM_WINDOWPOSCHANGING,$00000000,$0012F6D0);
end;
我特意的在一个按钮的事件中发送WM_WINDOWPOSCHANGING这个消息,居然不能截获!!ApplicationEvents的OnMessage事件不是能截获所有的消息吗?为什么这个消息不能截获?请各位高手指导,谢谢!
...全文
251 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlydelphiandi 2003-08-07
  • 打赏
  • 举报
回复
靠,书上骗我,MD。
我回去研究一下先。
xzgyb 2003-08-05
  • 打赏
  • 举报
回复
我说错了,应该为
WM_WINDOWPOSCHANGING就不是进队消息
xzgyb 2003-08-05
  • 打赏
  • 举报
回复
Windows消息分两种,一个是进队的消息,一个是不进队的消息
OnMessage只能捕获进队的消息,象一般的键盘消息,鼠标消息,WM_PAINT,WM_TIMER这些消息
而你的SendMessage是直接调用窗口过程,所以OnMessage是收不到的,即使用PostMessage也不好使,因为WM_WINDOWPOSCHANGING就是进队消息,

if PostMessage(Handle,WM_WINDOWPOSCHANGING,$00000000,$0012F6D0) then
ShowMessage('succeed')
else
RaiseLastOSError;

会弹出 "消息只能与同步操作一起使用",PostMessage不成功
movingboy2 2003-08-05
  • 打赏
  • 举报
回复
推荐使用lwuser的方法一
ApplicationEvents的OnMessage只能捕获传递给Application这个对象的消息,其它的是无能为力的。帮助里TApplicationEvents的OnMessage页的第一行已经说得很明白了。
onlydelphiandi 2003-08-05
  • 打赏
  • 举报
回复
to;楼上的
ApplicationEvents的OnMessage事件不是能截获所有的消息吗?
lw549 2003-08-04
  • 打赏
  • 举报
回复
因为你没有procedure TForm1.MyProce(par1:type....)Message WM_WINDOWPOSCHANGING;
Message WM_WINDOWPOSCHANGING;很重要
onlydelphiandi 2003-08-04
  • 打赏
  • 举报
回复
为什么我的方法捕不到?
FrameSniper 2003-08-03
  • 打赏
  • 举报
回复
学习......
bluenightsky 2003-08-03
  • 打赏
  • 举报
回复
同意 lwluser(lwluser)
microd 2003-08-03
  • 打赏
  • 举报
回复
up,我也一样,无法截获其消息。
onlydelphiandi 2003-08-02
  • 打赏
  • 举报
回复
行吗?为什么我的方法捕不到?
lwluser 2003-08-02
  • 打赏
  • 举报
回复
方法一:
//自定义方法
procedure TForm1.MyProce(par1:type....)Message WM_WINDOWPOSCHANGING;
方法二:
//自定义方法
procedure TForm1.MyProce(var Msg:TMessage);
begin
if Msg.wParam=WM_WINDOWPOSCHANGING then
......................
................
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧