[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