Ver Mensaje Individual
  #3  
Antiguo 28-10-2004
chechu chechu is offline
Miembro
 
Registrado: oct 2004
Ubicación: argentina
Posts: 26
Reputación: 0
chechu Va por buen camino
gracias y.........

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
Responder Con Cita