Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Como almacenar un dato seleccionado de un LIST CONTROL

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

Como almacenar un dato seleccionado de un LIST CONTROL

Notapor emanuelgcy el Lun Abr 04, 2005 10:12 pm

Hola:
les agradeceria si me pudieran explicar como almacenar un dato de un List Control configurado como Report desde view. El tema es asi tengo 3 columnas definidas en el List Control y lo que quiero es que cuando se seleccione con el mouse un dato de la primer columna pueda asignar ese dato a una variable. Algo asi como al funcion OnSelchange() de un List Box que con una sentencia sencilla como esta:

void CDao2Dlg::OnSelchangeList1()
{
CString strTexto;
m_PENDIENTE.GetText (m_PENDIENTE.GetCurSel (), strTexto);
}

Puedo almacenar el dato seleccionado con el mouse en strTexto. A diferencia de esto es que ahora tengo un List Control y tengo 3 columnas definidas y quiero almacenar un dato seleccionado de la primer columna a una variable.

Que funcion tengo que usar??? que sea similar a la de un List Box.
Las columas las defini asi:
m_VISTA.InsertColumn(0, "Legajo",LVCFMT_LEFT,100);
m_VISTA.InsertColumn(1, "Establecimiento",LVCFMT_LEFT,100);
m_VISTA.InsertColumn(2, "Direccion",LVCFMT_LEFT,100);
y lo que quiero es el dato seleccionado de la columna "legajo".

Desde ya muchas gracias,
Saludos,
Emanuel(Argentina).
emanuelgcy
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 113
Registrado: Vie Mar 18, 2005 5:51 pm

Re: Como almacenar un dato seleccionado de un LIST CONTROL

Notapor latindeveloper el Mié Abr 06, 2005 11:26 am

Para realizar esta operacion utiliza la notificacion LVN_ITEMCHANGED , la puedes agregar mediante classwizard.

Un ejemplo de como utilizar esta notificacion:

Código: Seleccionar todo
/*la variable m_report es del tipo CListCtrl*/
void CDialogo::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
   NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;

   POSITION pos = m_report.GetFirstSelectedItemPosition();
   if(pos)
   {
      int item = m_report.GetNextSelectedItem(pos);      
      GetDlgItem(IDC_EDIT1)->SetWindowText(m_report.GetItemText(item,0));
   }
   *pResult = 0;
}
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Muchas gracias!!!

Notapor emanuelgcy el Mié Abr 06, 2005 5:32 pm

Muchas gracias por la ayuda.
Te agredezco.
me parece muy buena la calidad del foro.
Saludos,
Emanuel.
emanuelgcy
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 113
Registrado: Vie Mar 18, 2005 5:51 pm


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados