一个窗体可以接收多个消息么:
看到有些例子上定义接收信息的窗体内Procedure Onmessage(var m:Tmessage);message WM_USER+500;如果这个窗体再接收另外的消息该怎么定义?
看到有些例子上定义接收信息的窗体内Procedure Onmessage(var m:Tmessage);message WM_USER+500;如果这个窗体再接收另外的消息该怎么定义?
解决方案 »
- Delphi 的 春天要来了,delphi XE2 快要发布了 --李维博客内容
- 武汉公司急招 熟悉delphi和sqlserver能出差
- blueshu and 很想学好领分
- Ereport、Cell控件
- 不爽..散分...8
- 哪里有Delphi 6 Update Pack #2 (including Personal Edition)?
- 如何在WebBrowser中得到IdHTTP的内容
- 300 分 请教:如何让编译的程序尽量小
- 各位要的VOD程序源码已放在coala.533.net/VOD.ZIP,只有这么多了。
- 各位CEO,人事经理,业内过来人~请来指教
- 高手请进。。。
- 求GDI+ 类似于TGPRegion To Path TGPGraphicsPath 的方法.
你可以自己定义后面的message的ID,就像WM_USER+500,你也可以定义WM_USER+501
Procedure Onmessage2(var m:Tmessage);message WM_USER+501;
...
Procedure Onmessagex(var m:Tmessage);message WM_USER+50x;
可以定义很多的
前面我们提到的消息都是标准的Windows消息(WM_X),除此之外还有VCL内部消息、通知消息和用户自定义消息。
给自己发送消息和编写消息处理过程。消息的常量值为WM_USER+100到FFF, 这个范围是Windows为用户自定义消息保留的。
Delphi消息的发送有三种方法:
1.Tcontrol类的Perform对象方法。可以向任何一个窗体或控件发送消息,只需要知道窗体或控件的实例。其声明如下: function Tcontrol.Perform(Msg:Cardinal;Wparam,Lparam:Longint):Longint
2.Windows的API函数SendMessage()和Postmessage()。其声明如下:
function SendMessage(hWnd: HWND; Msg: UINT;wParam:WPARAM; lParam: LPARAM):LRESULT;stdcall;
function PostMessage(hWnd: HWND; Msg: UINT;wParam: WPARAM; lParam:LPARAM):LRESULT;stdcall