delphi动态添加的组件拖拽问题
我用动态方法添加了一些组件 想让这些组件能够拖拽 怎么办 如果为它们加入带参数的方法要怎么做 谢谢 请详细一点
[解决办法]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
m_Button: TButton;
procedure ButtonMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ButtonMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
TButton(Sender).Perform(wm_syscommand,$F012,0);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
m_Button: TButton;
begin
m_Button:= TButton.Create( Owner );
m_Button.Parent:=self;
m_Button.Caption:= 'hello world ';
m_Button.OnMouseDown:=ButtonMouseDown;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
m_Button.Free;
end;
end.
[解决办法]
那就用(Sender as TButton).caption吧,Onclick事件的Sender参数传递了触发事件的对象,你把它转型回TButton就可以了。