今天作了一个实例,有一断代码不理解,请大哥们明示,谢谢!
如上图:
窗体上放置了两个MEMO和一个PANEL组件,PANEL组件是为了实现窗体动态拖动代码如下:
procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
accept:=false;
if source=panel1 then
begin
accept:=true;
memo1.Width:=X+(sender as tcontrol).Left;
end;
end;procedure TForm1.Memo2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
accept:=false;
if source=panel1 then
begin
accept:=true;
memo1.Width:=X+(sender as tcontrol).Left;
end;
end;end.我想问一下
memo1.Width:=X+(sender as tcontrol).Left;
这句中的X是指谁的宽度?我这人太笨了,怎么也转不过来这个弯!
谢谢!!希望答详细点
如上图:
窗体上放置了两个MEMO和一个PANEL组件,PANEL组件是为了实现窗体动态拖动代码如下:
procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
accept:=false;
if source=panel1 then
begin
accept:=true;
memo1.Width:=X+(sender as tcontrol).Left;
end;
end;procedure TForm1.Memo2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
accept:=false;
if source=panel1 then
begin
accept:=true;
memo1.Width:=X+(sender as tcontrol).Left;
end;
end;end.我想问一下
memo1.Width:=X+(sender as tcontrol).Left;
这句中的X是指谁的宽度?我这人太笨了,怎么也转不过来这个弯!
谢谢!!希望答详细点
procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
X,Y就是鼠标点击的位置
建议楼主看看Sender,Parent,Owner的含义。