Usted no esta registrado, haga click aqui para registrarse!
 Inicio   Artículos   Recursos   Foros 
 

Iniciar sesión

¿No estas registrado?
Registrate en Latindevelopers.com!

 



Control NS Chart

Control que crea graficas de barras y sectores en Visual C++.

 

Pie Chart - Grafica de Sectores
Pie Chart - Grafica de Sectores

Bar Chart - Grafica de Barras
Bar Chart - Grafica de Barras

Introduccion

El control CNSChartCtrl es basado en la clase CWnd. el proposito de esta clase es crear un control donde se pueda visualizar graficas de barras y sectores para ser usado en un cuadro de dialogo o en una vista. Este control permite la modificacion de elementos y colores en tiempo de ejecucion. Originalmente ha sido compilado en Win98 con VC++ SP6 pero puede ser compilado en cualquier version de Windows donde pueda correr Visual C++ 6.0 o superior.

Este control es una alternativa a todos las herramientas que hacen un trabajo parecido.

Como usar el control

  1. Crear un control definido por el usuario en el modo diseño del editor de dialogo del Visual C++y luego poner el nombre "MFC_NSChartCtrl" como el nombre de la clase (Class name). El valor de caption es usado para establecer el titulo del control.
  2. Crear una instancia de la clase en el archivo de cabecera del dialogo.
    #include "NSChartCtrl.h"
    ...
    CNSChartCtrl m_chart
  3. Instanciar el control con la variable de la clase:
    m_chart.SubclassDlgItem(IDC_CUSTOM1,this);
  4. Inicializar los colores y elementos del control en la function InitDialog() o cualquier otra.
    m_chart.PrepareColors(CNSChartCtrl::GrayScale); //Colors
    m_chart.AddValue(10,"One");
    m_chart.AddValue(20,"Two");
    m_chart.AddValue(90,"Three");
    m_chart.AddValue(30,"Four");
    m_chart.AddValue(40,"Five");
    m_chart.AddValue(20,"Six")
  5. Ejecutar!

Personalizando los colores y rellenos

El control NSChart usa un array de colores y/o patrones para rellenar los sectores y barras. Para agregar nuevos colores o patrones personalizados, use la funcion AddSolidBrush(COLORREF) ó AddBrush(COLORREF).

m_chart.ResetColors();
m_chart.AddSolidBrush(0x000000FF);
m_chart.AddSolidBrush(RGB(255,0,255));
m_chart.AddBrush(m_pBrush); // CBrush* m_pBrush previamente inicializado.

Usar las notificaciones

El control NSChartCtrl notifica a la ventana u objeto que lo contiene cuando se ha hecho click en uno de los sectores o barras, segun sea el caso.El codigo de notificacion es is NSCS_SELECTEDITEM. Para ser utilizado necesita agregar las siguientes líneas de codigo.

Agregar la funcion en el bloque AFX_MSG de la clase..

class CYourDialog : public CDialog
{
   ...
      //{{AFX_MSG(CYourDialog)
      ...
      afx_msg void OnChartSelectedItem(NMHDR* pNMHDR, LRESULT* pResult);
      ...
      //}}AFX_MSG
   ...
};
void CYourDialog::OnChartSelectedItem(NMHDR* pNMHDR, LRESULT* pResult)
{
   LPNMCHARTCTRL nmchart = (LPNMCHARTCTRL)pNMHDR;
   if(nmchart->iItem >= 0 )
   {
      //... have selected item
   }
   *pResult = FALSE;
}

Declarar el mensaje de notificacion en el bloque MESSAGE_MAP :

BEGIN_MESSAGE_MAP(CYourDialog, CDialog )
   //{{AFX_MSG_MAP(CYourDialog)
   ...
   ON_NOTIFY(NSCS_SELECTEDITEM, IDC_CUSTOM_CTRL, OnChartSelectedItem)
   ...
END_MESSAGE_MAP()

Si el control es creado en una vista tiene que cambiar el valor de IDC_CUSTOM_CTRL con 0.

Historia

25 Jun 2004 - 1.0.1 Versión inicial.
02 Aug 2004 - 1.1.0


Descargas

Acerca del Author

Nombre de usuario: latindeveloper
Blog/URL:
Fecha de envío: 2004-07-26
Ultima Actualización:
Visualizaciones: 5953
Nedstat Basic - Web site estadisticas gratuito
El contador para sitios web particulares