我的程序时这样的:动态生成一个edit框控件,然后用户可以选中edit框,之后鼠标左键按下edit进行拖拉,那么会改变edit框的长宽,而edit框放置的位置不会改动,类似这种效果该怎么做?那位大侠能够提供资料或者程序?谢谢  

解决方案 »

  1.   

    参考这个
    http://www.2ccc.com/article.asp?articleid=3652\\\\\\\\\\\\\\\\\\\
    再改改就应该可以实现你要的功能了
      

  2.   

    定义成员变量:
      private
        FOrgX: Integer;响应两个事件:
    procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      // 鼠标按下左钮时记住当时的水平位置
      if Button=mbLeft then
        FOrgX := X;
    end;// 鼠标移动
    procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      // 如果是左边按钮且有了移动
      if (ssLeft in Shift) and (FOrgX<>X) then
      begin
        // 让宽度以差别变化
        Edit1.Width := Edit1.Width + X - FOrgX;
        // 记住本次的位置
        FOrgX := X;
      end;
    end;--
    http://www.agui.googlepages.com
    mailto: agui.cn@gmail.com