多谢提示下面的代码不能实现, 不知该如何该...procedure TMainForm.FormMouseMov(Sender: TObject; Shift: TShiftState; X, Y: Integer); var b1, b2 : boolean; begin b1 := (X = Image.Left + Image.Width); b2 := (Y = Image.Top + Image.Height); {设置鼠标外观} if(b1 and b2) then Screen.Cursor := crSizeNWSE else if b1 then Screen.Cursor := crSizeWE else if b2 then Screen.Cursor := crSizeNS; {当按住左键拖动时重置Image大小} if ssLeft in Shift then begin if(b1 and b2) then //b1, b2总要重新计算, 是这里出问题吗? begin Image.Width := X; Image.Height := Y; end else if b1 then Image.Width := X else if b2 then Image.Height := Y; end;end;
Y: Integer);
var
b1, b2 : boolean;
begin
b1 := (X = Image.Left + Image.Width);
b2 := (Y = Image.Top + Image.Height); {设置鼠标外观}
if(b1 and b2) then
Screen.Cursor := crSizeNWSE
else if b1 then
Screen.Cursor := crSizeWE
else if b2 then
Screen.Cursor := crSizeNS; {当按住左键拖动时重置Image大小}
if ssLeft in Shift then
begin
if(b1 and b2) then //b1, b2总要重新计算, 是这里出问题吗?
begin
Image.Width := X;
Image.Height := Y;
end
else if b1 then Image.Width := X
else if b2 then Image.Height := Y;
end;end;