In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Sobre RMChart - Mostrar Descripcion o Ventana Emergente

Foro público de Xailer en español
ryder1912
Posts: 17
Joined: Thu Jul 09, 2015 8:17 pm

Sobre RMChart - Mostrar Descripcion o Ventana Emergente

Postby ryder1912 » Mon Jan 09, 2017 8:20 pm

Buenas a todos, felices fiestas. Estoy realizando gráficos estadísticos para una empresa de transporte. En la foto se ve los viajes en un periodo (puede ser cualquier mes), los vehículos y la cantidad de viajes que estos realizan en el mes. Como se ve en la foto, la idea es que al hacer click sobre la patente se muestre una ventana o descripcion del vehículo (Marca, Modelo, Año, Cant.asientos, Kmts, etc.). ¿Es posible realizar eso? Obtener la patente y mostrar info. del auto?
Intente seguir el post dl usuario Moises sobre este tema pero no me salió, llegué hasta lo del puntero: viewtopic.php?t=11881
Tambien probé con el showToolTip pero no hubo caso. Bueno x las dudas dejo adjunto la foto , el código y el proyecto. Saludos.
RMChart.rar
(15.15 KiB) Downloaded 37 times

flotaVeh.png
flotaVeh.png (39.48 KiB) Viewed 1562 times

Code: Select all


#include "Xailer.ch"
#include "RMChartX.ch"

CLASS TForm1 FROM TForm

   COMPONENT oBevel1
   COMPONENT oBevel2
   COMPONENT btImprimir
   COMPONENT btCerrar

   DATA oChart

   METHOD CreateForm()
   METHOD FormInitialize( oSender )
   METHOD ArmaGrafico(aDatos)
   METHOD btImprimirClick( oSender )
   METHOD btCerrarClick( oSender )
   METHOD GetPatente( oSender, p1, p2, p3, p4, p5 )

ENDCLASS

#include "Form1.xfm"

//------------------------------------------------------------------------------

METHOD FormInitialize( oSender ) CLASS TForm1
local aDatos:={}

   ::lCentered:=.T.

   AADD(aDatos, 'Cantidad de Viajes por Vehiculos')
   AADD(aDatos, 'Periodo Enero de 2017')
   AADD(aDatos, 'N° de Patente (Cantidad de Viajes)')
   AADD(aDatos, 'NMN345*CDE234*CDFG32*TYA123*JKL789*TYD436*ERDGH65*OLH547*WES880*ERT321') // Patentes
   AADD(aDatos, '21*13*14*16*7*9*12*10*21*17') // Cantidad de Viajes x Vehiculo en el mes
   ::ArmaGrafico(aDatos)

RETURN Nil

//------------------------------------------------------------------------------
METHOD ArmaGrafico(aDatos)  CLASS TForm1
local nCantPat:=10 , nMaximo:=31

   ::lCentered:=.T.
   WITH OBJECT ::oChart := TRMChartX():New(::oBevel1)
      :nAlign := alCLIENT
      :Create()
   END

   WITH OBJECT ::oChart
     :Reset()
     :RMCBackColor = DullGreen
     :RMCStyle     = RMC_CTRLSTYLE3DLIGHT
     :RMCWidth     = ::oBevel1:nWidth
     :RMCHeight    = ::oBevel1:nHeight
     :RMCBgImage   = ""
     :Font         = "Tahoma"
     :MouseUpA     = "GetPatente"

     //************** Add Region 1 *****************************
     :AddRegion()
     With object :Region(1)
         :Left       = 5
         :Top        = 10
         :Width      = -5
         :Height     = -5
         :Footer     = ""
         :ShowBorder = FALSE
         //************** Add caption to region 1 *******************
         :AddCaption()
         With object :Caption
             :Titel     = aDatos[1]
             :BackColor = Bisque
             :TextColor = Black
             :FontSize  = 10
             :Bold      = TRUE
         End
         //************** Add grid to region 1 *****************************
         :AddGrid()
         With object :Grid
             :BackColor   = Cornsilk
             :AsGradient  = TRUE
             :BicolorMode = RMC_BICOLOR_NONE
             :Left        = 0
             :Top         = 0
             :Width       = 0
             :Height      = 0

         End
         //************** Add data Axis to region 1 *****************************

         :AddDataAxis()
         With object :DataAxis(1)
             :Alignment      = RMC_DATAAXISLEFT
             :MinValue       = "0"
             :MaxValue       = Str(nMaximo)
             :TickCount      = 10
             :Fontsize       = 8
             :TextColor      = Black
             :LineColor      = Black
             :LineStyle      = RMC_LINESTYLESOLID
             :DecimalDigits  = 0
             :AxisUnit       = ""
             :AxisText       = aDatos[2]
         End

         //************** Add label axis to region 1 *****************************
         :AddLabelAxis()
         With object :LabelAxis
             :AxisCount     = 1
             :TickCount     = nCantPat
             :Alignment     = RMC_LABELAXISBOTTOM
             :Fontsize      = 8
             :TextColor     = Black
             :TextAlignment = RMC_TEXTUPWARD
             :LineColor     = Black
             :LineStyle     = RMC_LINESTYLESOLID
             :AxisText      = aDatos[3]
             :LabelString   = aDatos[4]
         End

        //************** Add legend to region 1 *******************************
         :AddLegend()
         With object :Legend
             :Alignment = RMC_LEGEND_CUSTOM_UL
             :BackColor = LightYellow
             :Style     = RMC_LEGENDROUNDRECT
             :TextColor = Blue
             :Fontsize  = 8
             :Bold       = TRUE
             :LegendString:=""
         End

         //************** Add Series 1 to region 1 *******************************
         :AddBarSeries()
         :BarSeries(1):SeriesStyle     = RMC_BAR_FLAT_GRADIENT2
         :BarSeries(1):SeriesType      = RMC_BARSINGLE
         :BarSeries(1):ValueLabelOn    = RMC_VLABEL_DEFAULT_NOZERO
         :BarSeries(1):Lucent          = FALSE
         :BarSeries(1):Color           = Transparent
         :BarSeries(1):WhichDataAxis   = 1
         :BarSeries(1):PointsPerColumn = 1
         :BarSeries(1):HatchMode       = RMC_HATCHBRUSH_OFF
         :BarSeries(1):DataString      = aDatos[5]
     End
     :Draw( .T. )
   END

RETURN Nil

//------------------------------------------------------------------------------
METHOD GetPatente( oSender, p1, p2, p3, p4, p5) CLASS TForm1
LOCAL x, y, info, aPos, nFil1, nCol1, i
LOCAL oPop, nOption

   IF p1 == 1 // Botón izquierdo
         MsgInfo(   ValType( p5 ) )   // Info Detalle
      ELSEIF p1 == 2 // Botón derecho
          // Info Detalle
   ENDIF

RETURN NIL

//------------------------------------------------------------------------------
METHOD btImprimirClick( oSender ) CLASS TForm1
   ::oChart:Draw2Printer()
   Printer:nOrientation:=DMORIENT_PORTRAIT
RETURN Nil

//------------------------------------------------------------------------------
METHOD btCerrarClick( oSender ) CLASS TForm1
   ::Close()
RETURN Nil
User avatar
emeasoft
Posts: 1062
Joined: Wed Apr 01, 2009 4:12 pm
Location: emeasoft
Contact:

Re: Sobre RMChart - Mostrar Descripcion o Ventana Emergente

Postby emeasoft » Thu Jan 12, 2017 2:23 pm

Hola,

Puede intentar hacerlo usando RMC_GetINFOXY para asignar el clic y RMC_COBox + RMC_COText para mostrar los datos.

Un Saludo,

André Corrêa
ryder1912
Posts: 17
Joined: Thu Jul 09, 2015 8:17 pm

Re: Sobre RMChart - Mostrar Descripcion o Ventana Emergente

Postby ryder1912 » Fri Jan 13, 2017 7:43 pm

emeasoft wrote:Puede intentar hacerlo usando RMC_GetINFOXY para asignar el clic y RMC_COBox + RMC_COText para mostrar los datos.


Buenas, si estuve probando pero no sé como llamar a la funcion RMC_GetINFOXY o RMC_GetINFO, o cualquier otra.
En la ayuda del RMChart sale así: i = RMC_GetINFOXY(%ID_RMC1,TINFO,150,100). El tema es que el TInfo no sé si está difenido en algún lugar.

Algún ejemplo pasa saber como llamar a esas funciones ( RMC_GetINFOXY, RMC_COBox, RMC_COText) ?
User avatar
emeasoft
Posts: 1062
Joined: Wed Apr 01, 2009 4:12 pm
Location: emeasoft
Contact:

Re: Sobre RMChart - Mostrar Descripcion o Ventana Emergente

Postby emeasoft » Mon Jan 16, 2017 12:01 pm

Hola,

Puede echar un vistazo a las páginas "Mouse support", "Constants for the mouse support", "User Defined Type tRMC_INFO",
en la ayuda del RMChart.
No tengo ningún ejemplo listo, pero tan pronto como tengo tiempo, voy a tratar de crear uno.

Un Saludo,


André Corrêa

Return to “Spanish”