关于控件拖放的问题,没分了,全部送出(100分)

  • 主题发起人 tanafenga
  • 开始时间
T

tanafenga

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现想delphi开发界面那样的拖放效果怎么做
1拖放只移动位置,比要出现一个新的窗口
2拖放的范围控制在窗体能,
直接使用控件的dragmode dragkind 来实现会出现新窗口的状态
如 在from1拖动一个edit1时,会出现一个新的窗体edit1
怎么屏蔽它呀
 
在窗体上放个BUTTON控件,在窗体的DRAGOVER 和DRAGDROP事件中分别写上如下.
button的dragmode为 dmAutomatic.
procedure TForm1.FormDragOver(Sender, Source: TObject;
X, Y: Integer;
State: TDragState;
var Accept: Boolean);
begin
if (Source is tbutton ) then
Accept :=True;
end;

procedure TForm1.FormDragDrop(Sender, Source: TObject;
X, Y: Integer);
begin
TButton(Source).Left:=x;
TButton(Source).top:=y
end;
 
qnaqbgss
你说的是可以的,但是不够完美
如果想要dragmode=dkdock的效果的话能做到么
目前可以移动,但是效果不佳
比如 radiobox width=100 height=100
当向右下移动少量距离,不超出控件本身的范围是拖放禁止的
使用dragmode=dkdock效果比较好,会预先显示移动的位置,移动位置不受限制,
可以他就会出现新的窗空,郁闷
 
顶部