怎样把一个控件从一个TPanel里拖到另一个TPanel里
解决方案 »
- 做报表的问题
- 怎么将PNG文件分割,用image显示做图片按钮?
- Help!!!怎样判断SQL Server 服务是否已启动了?
- 怎样删除模板上的控件?
- web server application的简单问题,进来试试。
- Delphi中如何声明一个类静态变量
- 怎样把一个指向结构指针的首地址付给一个VARIANT型的变量
- 把分送给一个朋友(他的分用完了)
- 我想问问,office的助手是如何实现的?
- 为何我的label控件总会缩小,使字看不全,我改了width也没用,有什么好方法吗?
- 在提交数据更改之前如何判断用户输入是否合法?
- 在dbgrid里,查询组件Tquery作为数据源,如何使得显示在dbgrid里的查询结果可以编辑,直接用dbnavagtor编辑?(新手问题)
运行期: panel2.parent := panel1
或者用Ctrl+X, 再在目标 Panel上面用 Ctrl+Vonly for design time, if run timeControl1.parent := panel1;
刚写的DEMO,不知是你的意思吗
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure Panel2DragDrop(Sender, Source: TObject; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure ControlBeginDrag(Sender:TObject);
begin
TControl(Sender).BeginDrag(false,6);
end;procedure ControlDragDrop(Sender,Source:TObject);
begin
TControl(Source).Parent:=TWinControl(Sender);
end;procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ControlBeginDrag(Sender);
end;procedure TForm1.Panel2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=true;
end;procedure TForm1.Panel2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
ControlDragDrop(Sender,Source);
end;end.