📄 getform.pas
字号:
unit GetForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TFormGetData = class(TForm)
Memo1: TMemo;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
private
{ Private declarations }
public
procedure GetCopyData (var Msg: TWmCopyData);
message wm_CopyData;
procedure UserData (var Msg: TMessage);
message wm_User;
end;
var
FormGetData: TFormGetData;
implementation
{$R *.DFM}
procedure TFormGetData.GetCopyData (var Msg: TWmCopyData);
var
FromTitle: string;
begin
Memo1.Clear;
SetLength (FromTitle, 100);
GetWindowText (Msg.From, PChar(FromTitle), 100);
FromTitle := pChar (FromTitle);
Memo1.Lines.Add ('Message from: ' + FromTitle);
with Memo1.Lines, Msg.CopyDataStruct^ do
begin
Add ('Small data: ' + IntToStr (dwData));
Add ('Large block size: ' + IntToStr (cbData));
Add ('String: ' + PChar (lpData));
end;
// received (true)
Msg.Result := 1;
end;
procedure TFormGetData.UserData (var Msg: TMessage);
begin
Edit1.Text := 'Address: ' + IntToHex (Msg.LParam, 16);
// usually creates a GpFault!!!
Edit2.Text := 'String: ' + string (PChar (Msg.LParam));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -