Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2010
jalexc jalexc is offline
Registrado
 
Registrado: jun 2006
Ubicación: Cali Colombia
Posts: 3
Poder: 0
jalexc Va por buen camino
Post Mostrar Hint de una serie con clic del Mouse sobre un Tchart

De ante mano muchas gracias por cualquier colaboración que me puedan brindar.

Estoy diseñando un gráfico con un Tchart , pero me gustaría adicionarle un pequeño detalle, que la hacer clic encima de un área del gráfico(porción de la serie) pueda mostrar una breve descripción de ésta con la propiedad hint.

Gracias
Responder Con Cita
  #2  
Antiguo 25-08-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 707
Poder: 15
cloayza Va camino a la fama
Si te fijas cada serie que agregas al grafico posee eventos...

Por ejmplo, si agregas un TFastLineSeries, este posee varios eventos y uno que te serviria para lo que deseas es OnClick...que tiene esta forma:

Código Delphi [-]
{Un Click en la serie...}
procedure TForm1.Series3Click(Sender: TChartSeries; ValueIndex: Integer;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
....
end;

{Doble Click en la serie...}
procedure TForm1.Series3DblClick(Sender: TChartSeries; ValueIndex: Integer;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
....
end;

Lo demas es investigar y probar...Saludos
Responder Con Cita
  #3  
Antiguo 25-08-2010
jalexc jalexc is offline
Registrado
 
Registrado: jun 2006
Ubicación: Cali Colombia
Posts: 3
Poder: 0
jalexc Va por buen camino
Post Mostrar Hint de una serie con clic del Mouse sobre un Tchart

Hola cloayza, gracias por la pronta respuesta..
haber te explico mejor, lo de los eventos ps lo tengo claro..para ser mas exacto mira este codigo de otro post con el cual me base en parte..
"lo hizo Angel Fernández hace un tiempo en su tema Tchart y cálculo de valores en coordenadas del ratón (mouse)"

Código Delphi [-]
 for i:=0 to dbChart1.SeriesList.Count do
  if dbChart1.Series[i].Clicked(x,y)<>-1 then
  begin
    txt:='Sensor '+dbChart1.SeriesList.Series[i].Title;
    Break;
  end;

  dbchart1.Hint:=txt;
  Application.HintPause:=1; //para que muestre enseguida el hint
  dbchart1.ShowHint:=True;
  Application.ActivateHint(Mouse.CursorPos); //muestra el hint



lo que sucede es que en ésa solucion muestra la implementacion del hint..pero solo me muestra un solo mensaje general, el de la variable txt como puedes apreciar..pero no me carga el titulo que pertenece a cada serie..y ps mas que todo eso es lo q necesito..que al darle clic a cada area pintada del grafico me muestre el hint, pero no se como es..si es dimensionar el tchart por areas y si es asi podrias explicarme o darme una idea de como seria?.

Gracias de antemano
Responder Con Cita
  #4  
Antiguo 25-08-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 707
Poder: 15
cloayza Va camino a la fama
Probe tu codigo y al parecer funciona bien.

Lo unico que podria ser es que la propiedad Title no se le haya asignado un valor...


Verifica el contenido de la propiedad Title de cada serie.

Saludos
Responder Con Cita
  #5  
Antiguo 25-08-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 707
Poder: 15
cloayza Va camino a la fama
Me tome la libertad de hacer este codigo incorporando el tuyo...

Este muestra el hint cuando te mueves sobre el grafico...

TChartClickedPart contiene informacion sobre que parte del grafico esta el mouse...

Saludos

Código Delphi [-]
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
     pt:TPoint;
     part:TChartClickedPart;
     i:Integer;
     txt:string;
begin
     pt.x:=X; pt.y:=Y;

     {Obtiene informacion sobre el punto del grafico donde esta el mouse...}
     Chart1.CalcClickedPart(pt,Part);

     memo1.lines.clear;

     chart1.ShowHint:=False;

     {Determina en que parte del grafico esta el mouse...}
     case (Part.Part) of
          cpNone  :memo1.lines.add('cpNone');
          cpLegend:memo1.lines.add('cpLegend');
          cpAxis  :begin
                        memo1.lines.add('cpAxis');
                        memo1.lines.add('Axis.Title:'+part.AAxis.Title.Caption);
                   end;
          cpSeries:begin
                         {Si esta sobre una serie...}
                         memo1.lines.add('cpSeries');
                         memo1.lines.add( Part.ASeries.Title);

                         memo1.lines.add( part.ASeries.XLabelsSource);
                         {TU CODIGO con unos pequenisimos cambios....}
                        for i:=0 to Part.ASeries.Count do
                         if Part.ASeries.Clicked(X,Y)<>-1 then
                         begin
                              txt:='Sensor '+Part.ASeries.Title;
                              Break;
                         end;
                         
                         chart1.Hint:=txt;
                         Application.HintPause:=1;
                         chart1.ShowHint:=True;
                         Application.ActivateHint(Mouse.CursorPos);
                         {FINAL DE TU CODIGO...}
          end;
          cpTitle :memo1.lines.add('cpTitle');
          cpFoot  :memo1.lines.add('cpFoot');
          cpChartRect:memo1.lines.add('cpChartRect');
     end;

end;

Espero te ayude...
Saludos

Última edición por cloayza fecha: 25-08-2010 a las 23:40:52.
Responder Con Cita
  #6  
Antiguo 26-08-2010
jalexc jalexc is offline
Registrado
 
Registrado: jun 2006
Ubicación: Cali Colombia
Posts: 3
Poder: 0
jalexc Va por buen camino
Thumbs up Mostrar Hint de una serie con clic del Mouse sobre un Tchart

Hola cloayza, muchas gracias eso fue mas que perfecto quedo muy agradecido...

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mostrar Hint en entrar al control Ezecool Varios 7 16-02-2010 18:49:37
Tchart y cálculo de valores en coordenadas del ratón (mouse) fonx Gráficos 9 18-07-2008 01:26:27
Mouse Serie En Linux eduarcol Linux 8 15-08-2007 22:32:16
Obtener Marca, Modelo y Serie de Teclado y Mouse... Falco64 Varios 2 03-08-2007 11:36:05
Al mostrar Hint, desaparece ventana nowheremanza OOP 4 19-09-2005 23:37:03


La franja horaria es GMT +2. Ahora son las 09:27:45.


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