[C con Clase] Seleccionar FILA de ListView
juan
jmicanovelles en gmail.com
Lun Sep 15 21:24:49 CEST 2008
Ya te han dado la solución y lo acabo de probar:
case IDM_SELECCIONAR:
{
//Segunda fila , 0 para la primera
numFila=1;
//Si no pones el SetFocus, te lo seleciona pero
//no se pone el color de fondo azul que tiene por defecto
//si previamente no tenias una fila seleccionada
SetFocus( hListView);
//busca la fila seleccionada previamente
int iSelected=(int)SendMessage(hListView,LVM_GETNEXTITEM,(WPARAM)-1,LVNI_FOCUSED);
//desselecciona la que había seleccionada
ListView_SetItemState(hListView, iSelected, 0, LVIS_FOCUSED | LVIS_SELECTED);
//Selecciona la segunda fila, 0 seria la primera fila
ListView_SetItemState(hListView,numFila,LVIS_FOCUSED |LVIS_SELECTED, LVIS_FOCUSED |LVIS_SELECTED );
}
break;
case IDC_BORRAR:
{
//Busca la fila seleccionada
int iSelected=(int)SendMessage(hListView,LVM_GETNEXTITEM,(WPARAM)-1,LVNI_FOCUSED);
//Borra la fila
SendMessage(hListView,LVM_DELETEITEM,iSelected,0);
}
break;
Y cuando creas el listview:
//Para selecionar filas enteras y para que te salga la rejilla
SendMessage(hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
Lo he probado en el Vista
Un saludo.
Juan
El pasado 2008-09-14 21:08:26, Fernando escribió:
F> Hola colaboradores, de antemano gracias... mi duda vuelve a despertar sobre los necesarios e incómodos ListView. Alguién me podría dar una idea de cómo SELECCIONAR un FILA en un control LitView que estoy cargando desde un .rc y que lo llamo desde un hDlg, es decir, pretendo seleccionar una fila al presionar otro control de tipo BUTTON, o al menos que pudiera elegir la primera fila de todos los que se muestran en ListView.
F> IDE...: Dev-C++
F> LP....: C
F> OS....: Win98
F> SGDB..: MySQL
F> Gracias y espero puedan darme una idea de este rollo complicado.
F> :-)
F> _______________________________________________
F> Lista de correo Cconclase Cconclase en listas.conclase.net
F> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
F> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Más información sobre la lista de distribución Cconclase