以下代码为什么报错。难产没人知道吗?问了这么多次,好让我失望!(60分)

  • 主题发起人 主题发起人 tl_lyq
  • 开始时间 开始时间
T

tl_lyq

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure MouseDown(Sender: TObject
Button: TMouseButton;
Shift: TShiftState
X, Y: Integer);
begin
if Button <> mbRight then
begin
ReleaseCapture;
(sender as tspeedbutton).Perform(WM_SysCommand, $f017, 0);
end;
end;

procedure Tjtplt1.SpeedButton1Click(Sender: TObject);
begin
(sender as tspeedbutton).OnMouseDown :=mousedown;{运行至此报错。incompatible types:"tobject" and "tmousedown"}
end;
 
加上
procedure Tjtplt1.MouseDown(Sender: TObject
Button: TMouseButton;
Shift: TShiftState
X, Y: Integer);
 
同意同上,再者最好不要用mousedown这个名字。
 
这样呢:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
(sender as tspeedbutton).OnMouseDown :=Form1.FormMouseDown
end;
procedure TForm1.FormMouseDown(Sender: TObject
Button: TMouseButton;
Shift: TShiftState
X, Y: Integer);
begin
if Button <> mbRight then
begin
ReleaseCapture;
(sender as tspeedbutton).Perform(WM_SysCommand, $f017, 0);
end;
end;
 
多谢大家,给分。不知为何过程前没有"Tform1"............不可以,不加难道在本单元不可以引用吗。
 
后退
顶部