我想要实现用鼠标拖住Image的右边界或下边界就可以重置Image的大小,
是不是只需改变Image的Height和Width, 问题是在哪个event中处理呢?

解决方案 »

  1.   

    多谢提示下面的代码不能实现, 不知该如何该...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;