首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

界面控件拖拽有关问题

2012-03-04 
界面控件拖拽问题Form上有N多个Button,还有N个Panel,怎样用最简单的编程实现拖拽任意一个Button到任意一个

界面控件拖拽问题
Form上有   N   多个   Button,还有   N   个   Panel,怎样用最简单的编程实现拖拽任意一个   Button   到任意一个   Panel   中??如果每个控件都写代码那太麻烦了,求一个简单快捷的办法,请高手给支个招,谢谢。

[解决办法]
1.每个Button的DragMode都设为dmAutomatic;
2.每个Panel的下面两个事件都指向同一个:
procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Source is TButton;
end;

procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TButton then
begin
TButton(Source).Parent := TPanel(Sender);
TButton(Source).Left := X;
TButton(Source).Top := Y;
end;
end;

热点排行