PostMessage (Handle, wm_User, 0, 0);的详细分析(50分)

  • 主题发起人 主题发起人 flyinsky
  • 开始时间 开始时间
F

flyinsky

Unregistered / Unconfirmed
GUEST, unregistred user!
我看了DELPHI的帮助,还是一头雾水,希望各位详细解说以下
他的作用方法,各个参数意义,特别是 HANDLE 的含义作用,
 
) PostMessage (Handle, wm_User, 0, 0);的详细分析
说明
将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送
返回值
Long,如消息投递成功,则返回TRUE(非零)。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递
给系统中的所有顶级窗口。如设为零,表示投递一条线程消息
(参考PostThreadMessage)
wMsg Long, 消息标识符
wParam Long, 具体由消息决定
lParam Any, 具体由消息决定
 
再请教一下,这 wm_user,handle, 都是 什么意识。
 
接受答案了.
 
begin
// if user pressed backspace
if Key = #8 then
begin
// set this as the object to destroy
ToDestroy := Sender as TButton;
// post message to perform destruction
PostMessage (Handle, wm_User, 0, 0);
end;
end;
象这样要删除动态创建的BUTTON是的语句中
PostMessage (Handle, wm_User, 0, 0);中参数 handle,wm_user,0,0
分别什么意识, 0, 0 改动之后程序好象没变化,无关紧要的。
 
procedure TForm1.WmUser(var Msg: TMessage);
begin
if Assigned (ToDestroy) then
begin
SelectNext (ToDestroy, True, true);
FreeAndNil (ToDestroy);
end;
end;
这是接着上面的做实际删除BUTTON的工作,那么这里的 Msg: TMessage
就是接收了上面POSTMESSAGE的信息了吗?如何接受的,哪个值呢?
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部