百科知识

求助-如何改变控件的大小,就是运行后象运行前那样可以用鼠标调整?

2005-05-13 18:39:45i***
[求助]如何改变控件的大小,就是运行后象运行前那样可以用鼠标调整控件大小 [求助]如何改变控件的大小,就是运行后象运行前那样可以用鼠标调整控件大小 或更多操作[求助]如何改变控件的大小,就是运行后象运行前那样可以用鼠标调整控件大小[求助]如何改变控件的大小,就是运行后象运行前那样可以用鼠标调整控件大小或更多操作:实现?

最佳回答

  •   实现移动和改变控件大小的代码如下:(Demo只演示了在四个角进行拖放控制大小和移动控件的操作)unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;typeTForm1=class(TForm)CheckBox1:TCheckBox;procedureCheckBox1MouseMove( :TShiftState;X,Y:Integer);private{Privatedeclarations}public{Publicdeclarations}end;varForm1:TForm1;implementation{$R*。
      dfm}procedureChangeSize( :TShiftState;X,Y:Integer);constconPrec=6;varSC_M (XControl。Width)and(YControl。Height)thenbeginSC_MANIPULATE:=$F007;Control。
      Cursor:=crSizeNS;endelseif(X+conPrec>Control。Width)and(Y+conPrec>Control。Height)thenbeginSC_MANIPULATE:=$F008;Control。Cursor:=crSizeWE;endelsebeginSC_MANIPULATE:=$F009;Control。
      Cursor:=crDefault;end;ifShift=[ssLeft]thenbeginReleaseCapture;Control。Perform(WM_SYSCOMMAND,SC_MANIPULATE,0);end;end;procedureTForm1。
      CheckBox1MouseMove( :TShiftState;X,Y:Integer);beginChangeSize(SenderasTWinControl,Shift,X,Y);end;end。
    2005-05-22 19:48:22
  • 说的不清楚
    2005-05-13 20:12:11
  • 很赞哦! (207)