Intente hacer lo que me aconsejas y no puedo lograrlo, no se porque no funciona ..........el no arrastrar fisicamente el componente sino crear uno .....el codigo que utilizo es el siguiente:
El usuario da el permiso para crear una nueva pagina(tab) por medio de un boton............, en esa pagina puede agregar componentes (lo que intento hacer arrastrando.. ) y la pagina que quede diseñada por el usuario la debo poder reutilizar (por lo que dentro de las tabs creo frames contenedores los que luego me van a permitir guardar y recuperar las paginas
''segun lo que yo imagino'')..............entonces:
procedure TForm1.ToolButton1Click(Sender: TObject);
var
NuevoTabSheet: TTabSheet;
Marco: TFrame;
i: integer;
begin
NuevoTabSheet:= TTabSheet.Create(PageControl1);
NuevoTabSheet.Visible:= True;
NuevoTabSheet.Caption:= IntToStr(i);;
NuevoTabSheet.PageControl:= PageControl1;
PageControl1.ActivePage:= NuevoTabSheet;
Marco:= TFrame.Create(NuevotabSheet);
NuevoTabSheet.InsertControl(Marco);
Marco.Color:= clwhite;
Marco.Align:= alClient;
Marco.OnDragOver:= Mover;
Marco.OnDragDrop:= FrameDragDrop;
end;
Bien .......defino el procedimiento que cree un nuevo componente y no sea arrastrarlo fisicamente...como me sugeris
procedure TForm1.FrameDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TButton then
begin
with TButton.Create(Self) do
begin
width := TButton(Source).Width; {
solo a modo de prueba}
end;
end;
end;
entonces al intentar arrastrar el componente no tengo ninguna respuesta .........no se , no funciona
