Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2004
Yam Yam is offline
Registrado
 
Registrado: oct 2004
Posts: 2
Poder: 0
Yam Va por buen camino
Ayuda

Hola, tengo una forma con graficos teechart, y quiero en tiempo de ejecucion crear otro control y asignarle al nuevo todo los valores que tenga ya en alguno de los graficos que estan ya creados. Algo asi como duplicar cualquier grafico que este hecho en un control nuevo
Responder Con Cita
  #2  
Antiguo 30-10-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Algo así?
Código Delphi [-]
var elnuevo:Teechart;
begin
 elnuevo := Teechar.create(application);
 with el nuevo do
 begin
    // asignar propiedades de uno a otro
 
  end;
end;

En principio tienes que recorrer las propiedades e irlas asignando una a una, quizás algunas de ellas tengan el método Assign, por lo que te será más leve el trabajo.

No dices si quieres hacerlo visible, o solo lo usas como respaldo, pero bueno, para hacerlo visible solo tendrás que situarlo en las coordenadas de pantalla y asignarle la propiedad Parent al control recien creado.

Ojo, al final de este procedimiento la variable 'Elnuevo' se perderá, pero el objeto quedará creado hasta que su Owner (Application en este caso) se destruya. Si quieres poder referenciarlo fuera del procedimiento, puedes poner a Elnuevo como propiedad privada de la ventana.

Saludos
Responder Con Cita
  #3  
Antiguo 01-11-2004
Yam Yam is offline
Registrado
 
Registrado: oct 2004
Posts: 2
Poder: 0
Yam Va por buen camino
Gracias, realmente el problema es el siguiente, tengo varios graficos en una misma pantalla y quiero que todos ellos los pueda modificar (el color de las series, las formas de las barras, etc), con los mismos controles. Se me ocurrio duplicar el grafico seleccionado, que el usuario cambie las propiedades del grafico en el duplicadO, y luego devolverlas al grafico seleccionado. Pude duplicar el grafico y que sobre este se hicieran las modificaciones, pero al momento de devolverlo al grafico seleccionado, me da error, pues los componentes de las series ya estan creadas. Lo que hice fue lo siguiente

valor :Tchart
valor: Create.Tchart(nil)
procedure ChartTClick(Sender: TObject);
begin-->PARA SELECIONAR EL GRAFICO EN LA PANTALLA
CopiarSeries(Valor,ChartT,self);
end;

Procedure CopiarSeries(DestChart,SourceChart:TChart;
AOwner:TComponent);
Var tempSeries:TChartSeries;
tempS:TChartSeriesClass;
t,y:Longint;
begin--> PARA DUPLICAR EL GRAFICO
for t:=0 to SourceChart.SeriesCount-1 do
begin
tempS:=TChartSeriesClass(SourceChart.Series[t].ClassType);
tempSeries:=tmpS.Create(AOwner);
tempSeries.Assign(SourceChart.Series[t]);
tempSeries.Name:=(SourceChart.Series[t].Name);
DestChart.AddSeries(tmpSeries);
end;
---PARA CAMBIAR EL COLOR DE LA SERIE
procedure Shape1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
With valor.Series[ComboBox1.ItemIndex] do
SeriesColor:=EditColor(Self,SeriesColor);
CopySeries(ChartT,Valor,self); -->AQUI ME DA EL ERROR DE QUE YA EXISTE LA SERIE
Pero aqui me da el error
Responder Con Cita
  #4  
Antiguo 03-11-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¿por qué no usas el Destino directamente sin usar el intermedio?

Sería más facil.

Además te sugiero que por favor, encierres el codigo entre [ delphi ] y [ /delphi ] (sin los espacios) para que se vea el código bien. Tal cual está es muy dificil seguirlo.

Por cierto, tmpS qué es?? porque dices tmps.Create, pero no está definido en esa función.

Última edición por Lepe fecha: 03-11-2004 a las 12:10:28.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:43:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi