Delphi运行时拖拉、改变元件大小


本文整理自网络,侵删。

 ??要求在程式?绦?r?要可以拉拖、改?元件大家~
分享一??不?e的函??
procedure   DragResizeControl(WinControl:   TControl;   Shift:   TShiftState;X,   Y,   Precision:   integer);
var
  SC_MANIPULATE:   Word;
begin
  if (X<=Precision) and (Y>Precision)   and   (Y<WinControl.Height-Precision)   then begin
    SC_MANIPULATE     := $F001;
    WinControl.Cursor := crSizeWE;
  end else if   (X>=WinControl.Width-Precision)
             and   (Y>Precision)   and   (Y<WinControl.Height-Precision)   then begin
    SC_MANIPULATE     := $F002;
    WinControl.Cursor := crSizeWE;
  end else if (X>Precision)
             and (X<WinControl.Width-Precision)   and   (Y<=Precision)   then begin
    SC_MANIPULATE     := $F003;
    WinControl.Cursor := crSizeNS;
  end else if (X>Precision)
             and (X<WinControl.Width-Precision)   and   (Y>=WinControl.Height-Precision)   then begin
    SC_MANIPULATE     := $F006;
    WinControl.Cursor := crSizeNS;
  end else if (X<=Precision)   and   (Y<=Precision)   then begin
    SC_MANIPULATE     := $F004;
    WinControl.Cursor := crSizeNWSE;
  end else if (X>=WinControl.Width-Precision)   and   (Y<=Precision)   then begin
    SC_MANIPULATE     := $F005;
    WinControl.Cursor := crSizeNESW   ;
  end else if (X<=Precision)   and   (Y>=WinControl.Height-Precision)   then begin
    SC_MANIPULATE     := $F007;
    WinControl.Cursor := crSizeNESW;
  end else if (X>=WinControl.Width-Precision) and (Y>=WinControl.Height-Precision)   then begin
    SC_MANIPULATE     := $F008;
    WinControl.Cursor := crSizeNWSE;
  end else if (X>5)   and   (Y>5)   and   (X<WinControl.Width-5)
             and (Y<WinControl.Height-5)   then   begin
    SC_MANIPULATE     := $F009;
    WinControl.Cursor := crSizeAll;
  end else begin
    SC_MANIPULATE     := $F000;
    WinControl.Cursor := crDefault;
  end;
 
  if Shift=[ssLeft] then begin
    ReleaseCapture;
    WinControl.Perform(WM_SYSCOMMAND,   SC_MANIPULATE,   0);
  end;
end;
如用方法很??危?在元件的MouseMove?e加上

DragResizeControl((Sender as TWinControl),Shift,X,Y,10);

相关阅读 >>

Delphi一句话获取本机ip

Delphi2010 无法继承窗体的bug

Delphi 监控文件系统

Delphi中updown组件的使用方法

Delphi链接自己的主页和邮件

Delphi ip地址转换str字符

Delphi 静态数组的定义方法

Delphi 备份恢复剪切板

Delphi unicode转中文编码

Delphi 手机号码库段号地区查询

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...