NSChart - Visual C++
Introduccion
Este control es una alternativa a todos las herramientas que hacen un trabajo parecido.
Como usar el control
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.
- Crear una instancia de la clase en el archivo de cabecera del dialogo.
#include "NSChartCtrl.h"
...
CNSChartCtrl m_chart
- Instanciar el control con la variable de la clase:
m_chart.SubclassDlgItem(IDC_CUSTOM1,this);
- Inicializar los colores y elementos del control en la function InitDialog() o cualquier otra.
- Code: Seleccionar todo
- 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")
- Ejecutar!
Personalizando los colores y colores de fondo
- Code: Seleccionar todo
- m_chart.ResetColors();
- m_chart.AddSolidBrush(0x000000FF);
- m_chart.AddSolidBrush(RGB(255,0,255));
- m_chart.AddBrush(m_pBrush); // CBrush* m_pBrush previamente inicializado.
Notificaciones de eventos
Agregar la función en el bloque AFX_MSG de la clase..
- Code: Seleccionar todo
- 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 :
- Code: Seleccionar todo
- 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.
Historial de versiones
- 25 Jun 2004 - 1.0.1 Versión inicial.
- 02 Aug 2004 - 1.1.0
- Solucion de problemas de re-pintado..
- Agregado de metodos de agregacion y eliminación en tiempo de ejecución.
- Agregado de los mensajes de notificación y detección de click.
- Solucion de problemas de re-pintado..
Archivos Adjuntos
- nschart_src.zip6.4 KiB
Código fuente de la clase CNSChart - nschart_demo.zip30.94 KiB
Código fuente del proyecto que utiliza la clase CNSChart
Otros Artículos en esta sección
-
He aquí un programa que grafica todo tipo de funciones gracias a su interprete que utiliza un Analizador Léxico, Analizador Sintáctico, y un Analizador semántico.Es una técnica para reducir el parpadeo producido al dibujar en la pantalla, es muy útil para desarrollar juegos por que éstos suelen requerir refrescamiento continuo de pantalla.Es un tutorial sobre como implementar una calculadora científica desde cero con Visual C++ con MFC. También se implementa el calculo de algunas funciones matemáticas.¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro deVisual C++ »