delphi运行时拖拉、改变元件大小  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

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


應要求在程式執行時還要可以拉拖、改變元件大家~
分享一個不錯的函數
procedure   DragResizeControl(WinControl:   TControl;   Shift:   TShiftState;X,   Y,   Precision:   integer);
var
  SC_MANIPULATE:   Word;
begin
  if (X<=Precision) and (Y>Precision)   and   (Y     SC_MANIPULATE     := $F001;
    WinControl.Cursor := crSizeWE;
  end else if   (X>=WinControl.Width-Precision)
             and   (Y>Precision)   and   (Y     SC_MANIPULATE     := $F002;
    WinControl.Cursor := crSizeWE;
  end else if (X>Precision)
             and (X     SC_MANIPULATE     := $F003;
    WinControl.Cursor := crSizeNS;
  end else if (X>Precision)
             and (X=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              and (Y     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裡加上

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

Delphi在編譯時,預設的DCU(Delphi compiled unit)是與exe檔案在一塊。在程式還小的時候還好~

01

不過當uses的資源以及程式越來越大的時候,就發現資料夾過於雜亂了

02

我們可以到Project->Options設定

03

在第一個選項Delphi Compiler選擇Target為All configurations

04

更改輸出的執行檔跟dcu路徑就行了。

05


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.90897417068481 seconds