[C con Clase] SPREADSHEET en la Memoria

Juan jmicanovelles en gmail.com
Mar Jun 3 20:52:05 CEST 2008


Hola Diego, mira en esta página web:
http://zairon.wordpress.com/2007/11/06/editable-listview-control/
Puedes hacer que el listview tenga rejilla,y hacer algunos arreglos, como controlar el edit que no se abra cuando le das al clik al mouse en una celda vacia y alguna cosilla mas que le puse para cerrar dicha ventana en el sitio oportuno, cuando has decidido cancelar la operación.
En el procedimiento de creación, el estilo extendido:
SendMessage(hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
En SubClass_ListView_WndProc
		case WM_KILLFOCUS:
            	DestroyWindow(hEditable);
            break;
Creo que no venía en el progama.
Y esto en el procedimiento del dialogo:
		case NM_DBLCLK:
            {
             int iItem=SendMessage(hListView,LVM_GETITEMCOUNT,0,0)-1;
             if(((NMLISTVIEW *)lParam)->iItem >iItem)return FALSE;
            if(((NMLISTVIEW *)lParam)->iItem < 0)return FALSE;

            	//	I have to subclass!!!
			SubClass_ListView_Editable(_hWndDlg, (NMLISTVIEW *)lParam);
			 }
		break;
El del babygrid tambien funciona.
Meter datos ahí dentro, ya es cosa nuestra.

 He hecho una pequeña base de datos y parece que funciona bien
Juan


El pasado 2008-05-27 00:19:44, Diego escribió:
 
D> Hola,
D> Estoy haciendo un program en el cual todo el entorno grafico, y en si todas las herramientas son personalizadas.  Ya tengo los botones, los scrolls y al fin pude hacer los menus, pero todavia me falta un mundo.
D> Ahora estoy empezando el grid, ya que necesito una rejilla tipo excel para manejar datos, hacer sumas etc.  La forma de representarlo graficamente ya esta casi resuelta, se parece mucho a lo que use en los menus, ademas tengo un codigo de otro grid en C++ llamado BabyGrid, que es muy bueno en la parte grafica.  El problema viene al manejar los datos en la memoria, es algo complicado y todavia tengo muchas lagunas.
D> He estado investigando un programa de codigo abierto llamado gnumeric, para linux, y este tiene un Hashtable donde guarda todos las celdas, como lo haria un diccionario.  Me han dicho que este programa tambien usa regiones y arreglos segmentados para hacer las operaciones mas eficientemente, pero no conozco los arreglos segmentados ni entiendo como puede funcionar un hash con regiones.
D> Ademas algunos miembros de la comunidad gnumeric me han dicho que estan trabajando para usar un quadtree, o un arbol de 4 ramas para dividir las celdas en regiones, pero tambien me es confuso.  Por favor ayudenme.  No estoy interesado en usar OLE o Active X, ya que necesito yo mismo hacer las grillas, y no depender de Excel.
D> Gracias, Saludos
D> Diego Mendieta
D> Tendre un Hashtable, como la que se utiliza en los diccionarios, donde se guardaran las celdas utilizadas.



D> _______________________________________________
D> Lista de correo Cconclase Cconclase en listas.conclase.net
D> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
D> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


Más información sobre la lista de distribución Cconclase