为什么不能在MOUSEDOWN事件中创建组件,该如何解决
为什么不能在MOUSEDOWN事件中创建组件
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
mylabel:TButton;
这段代码在BUTTONCLICK里就不会出问题,可是在这里就会出现错误说TBUTTON类没有定义,这是为什么.在这个过程里不能动态创建组件吗?
------解决方案--------------------
我试了没问题:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
with TButton.Create(self) do
begin
Left := X;
Top := Y;
Parent := self;
Caption := Format( '%d,%d ',[X,Y]);
end;
end;
------解决方案--------------------
uses StdCtrls
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
mylabel:TButton;
这段代码在BUTTONCLICK里就不会出问题,可是在这里就会出现错误说TBUTTON类没有定义,这是为什么.在这个过程里不能动态创建组件吗?
------解决方案--------------------
我试了没问题:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
with TButton.Create(self) do
begin
Left := X;
Top := Y;
Parent := self;
Caption := Format( '%d,%d ',[X,Y]);
end;
end;
------解决方案--------------------
uses StdCtrls