Ver Mensaje Individual
  #2  
Antiguo 26-07-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Reputación: 22
b3nshi Va por buen camino
Mmm... veamos... a decir verdad no creo q la solucion q vaya darte en este momento sea la mas optima... pero creo q puede ayudarte un poco...
No uso hace mucho BDS y ahora solo programo con TD por lo q no puedo probar el Tchart, ni asegurarte q funcione, pero bueno... te cuento q yo realizo mis graficas en un Tpaintbox e hice algo parecido... pero veamos como lo puedes hacer...

Cuando hagas clic en el componente capturas las coordenadas del clic... (x,y) y las guardas por ejemplo en una variable pointer.

Luego para obtener las coordenadas dentro del componente lo q haces es restar a esas coordenadas la posicion top y left del componente tchart para asi obtener las coordenadas dentro del componente.

Desde lo q tendrias q hacer es una regla de tres... digamos algo asi... para el eje x:
anchodelcomponente ---- 200pesos (si es q fue plata lo q queres saber)
posicionx del clic ---- x = Entonces asi obtendrias la cantidad de plata q equivale a esa posicion...

y lo mismo para y. Pero ten en cuenta q tendrias q restarle al ancho del componente el tamaño aproximado de los margenes... y detalles como esos...

Luego para saber si hizo clic sobre la grafica puedes hacerlo analizando el color del pixel... es decir:

Código Delphi [-]
 if control.canvas.pixels[x,y] == colordegrafica then
 begin
 {Recien aqui haces todos los calculos}
 {y mostras el resultado}
 end;

No se si el tchart tiene la propiedad canvas... supongo q si pero en el caso de no tenerlo podes usar el canvas del formulario para saber si ese pixel tiene el color de la linea de la grafica... de todos modos estoy casi seguro q si lo tiene

Bueno espero q esto te ayude alguito...

{Saludos}
Responder Con Cita