下面的这些VC语句在DELPHI中怎么写呢
static const UINT MsgDataReady = ::RegisterWindowMessage(DATA_READY);
ON_REGISTERED_MESSAGE(MsgDataReady, OnDataReady)
RegisterMessageNotifyHandle(m_hWnd, MsgDataReady);
LRESULT CHKVisionDlg::OnDataReady(WPARAM wParam, LPARAM lParam)
static const UINT MsgDataReady = ::RegisterWindowMessage(DATA_READY);
ON_REGISTERED_MESSAGE(MsgDataReady, OnDataReady)
RegisterMessageNotifyHandle(m_hWnd, MsgDataReady);
LRESULT CHKVisionDlg::OnDataReady(WPARAM wParam, LPARAM lParam)
MsgDataReady: UINT;MsgDataReady = RegisterWindowMessage(DATA_READY);ON_REGISTERED_MESSAGE(MsgDataReady, OnDataReady)
RegisterMessageNotifyHandle(m_hWnd, MsgDataReady);
LRESULT CHKVisionDlg::OnDataReady(WPARAM wParam, LPARAM lParam)
// 这是VC里面的消息映射
ON_REGISTERED_MESSAGE 这种是定义的宏。。delphi你像自定义消息那样试试,不过好像不太行
然后映射此新消息的窗口处理函数RegisterMessageNotifyHandle 这个函数没找到 应该是定义相应的消息相应窗口把??LRESULT CHKVisionDlg::OnDataReady(WPARAM wParam, LPARAM lParam) 这是定义新注册的消息 MsgDataReady的消息相应函数。。不过我不清楚DELPHI里面的具体做法。。
就是说用OnDataReady过程处理MsgDataReady,不知在DELPHI中应该怎样
RegisterWindowMessage 只有在多个Application 里处理同一个消息时,才用到,如果你在一个应用程序里处理自定义的消息不用RegisterWindowMessage。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;const
WM_MYMESAGE = WM_USER + 1001; //******定义你自己的消息type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure MyMessageProc(var Msg: TMessage); message WM_MYMESAGE; //*****声明消息映射应设过程
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MyMessageProc(var Msg: TMessage); //****处理自定义消息的过程定义
begin
ShowMessage('abcd');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Handle, WM_MYMESAGE, 0, 0);
end;end.