Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   TDBChart (https://www.clubdelphi.com/foros/showthread.php?t=9892)

karlita_cb 05-05-2004 02:02:48

TDBChart
 
Hola...

Quisiera saber cómo le puedo hacer para que las barras o las rebanadas (en caso de un gráfico circular) de un gráfico que generé con TDBchart sea un "hipervínculo" a otro form, o que me genere ora subgráfica derivada de la barra a la que yo le dé clic...
Gracias

jachguate 05-05-2004 04:04:10

Las series del TChart disparan eventos. Entre ellos está el evento OnClick, que puede perfectamente servirte para este propósito.

No recuerdo si estos se pueden asignar en tiempo de diseño... pero si no, podes hacerlo en tiempo de ejecución; digamos en el evento onCreate del formulario que contiene el chart.

La forma de hacerlo seria:

Código Delphi [-]
  Chart1.Series[0].OnClick := Form1SeriesClick;

El evento es del Tipo TSeriesClick. Podes buscar en la ayuda por este término para ver la lista de parámetros y el significado de cada uno.

Hasta luego.

;)

karlita_cb 05-05-2004 19:20:30

Hola, discúlpame, pero no entiendo bien lo del Form1Seriesclick. Por ahora puedo hacer que me mande algún mensajito, pero lo hago de la sig. manera:

With Series1 do
ShowMessage( XLabel[ValueIndex] + CarriageReturn+
MarkPercent(ValueIndex,True) );

dentro de este procedimiento: procedure TForm1.DBChart1ClickSeries
pero aún no sé como abrir un nuevo formulario

jachguate 06-05-2004 00:32:20

bueno. Para mostrar un nuevo formulario, si este está en auto-create, basta con hacer Form2.Show - o ShowModal - , suponiendo que el formulario se llama Form2.

Si no está en auto-create, debes crearlo primero con algo como:

Código Delphi [-]
if not assigned(Form2) Then
  Application.CreateForm(TForm2, Form2);
Form2.ShowModal;

Claro, si en algun momento destruis el formulario, debes asegurarte de hacer que Form2 apunte a nil. Si no, el código fallará.

Hasta luego.

;)

karlita_cb 06-05-2004 18:40:36

Gracias...pero
 
Mira, sí efectivamente me abre un formulario, pero no importa a la barra que le dé clic me abre el mismo formulario, pero quisiera que cada barra abriera un form distinto.... Gracias

jachguate 06-05-2004 19:05:22

Creo que esto viene dado por ValueIndex en un TBarSeries. Entonces seria algo como:

Código Delphi [-]
  Case ValueIndex of
    1 : FormaValor1.Show;
    2 : FormaValor2.Show;
    3 : FormaValor3.Show;
  end;

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 10:35:20.

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