[C con Clase] como passo un array de estructuras a un cuadro de dialogo?

Raul Chakraborty chakras_ve en hotmail.com
Dom Ene 7 18:46:18 CET 2007


pos yo creo que deberias usar:

for (a=0;a<10;a++)SendDlgItemMessage(hDlg,ID_LISTA,LB_ADDSTRING,0,(LPARAM);Datos[a].Nom);

debido a que la forma Datos[a]->Nom, se refiere a que Datos[a] es ùn apuntador, lo cual no es del todo cierto, ya que Datos[a] tiene un espacio fisico asignado.
Si esto no funciona prueba colocando &Datos[a].Nom ( lo cual, para mi es exactamente lo mismo. )




________________________________
> Wrom: HMKHJYFMYXOEAIJJPHS
> To: cconclase en listas.conclase.net
> Date: Sun, 7 Jan 2007 11:41:25 +0100
> Subject: [C con Clase] como passo un array de estructuras a un cuadro de dialogo?
> 
> hola de nuevo,
> parece que el método universal para pasar información entre el procedimiento principal y un cuadro de dialogo es mediante una estrucutra, por ejemplo
> typedef struct stDatos {
>    char Nombre[80];
>    int edad;
> } DATOS;
> claro que con esta estructura sólo hay capacidad para una persona, por lo tanto mas adelante defino
> DATOS datos[100];
> así ya tengo sitio para 100 personas, pero si pretendo comunicarme con un cuadro de dialogo tocaria usar.....
> DialogBoxParam(hInst, "INFORMACIÓN", hwnd, DlgProc, (LPARAM)&Datos);
> para activar el control
> y para rellenar los datos en el control (listbox, etc..)
> for (a=0;a<10;a++)SendDlgItemMessage(hDlg,ID_LISTA,LB_ADDSTRING,0,(LPARAM);Datos[a]->Nom);
> lo que pasa es que Datos[a] no es correcto;
> me pregunto si la solució pasa por declarar
> DATOS *datos
> pero entonces me da la sensación que algo va a ir mal por otro sitio
> Gracias por la paciencia

_________________________________________________________________
Prueba algunos de los nuevos servicios en línea que te ofrece Windows Live Ideas: tan nuevos que ni siquiera se han publicado oficialmente todavía.
http://ideas.live.com



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