Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Seleccionar un elemento de un listview (https://www.clubdelphi.com/foros/showthread.php?t=22634)

weke 21-06-2005 22:58:10

Seleccionar un elemento de un listview
 
He probado diferentes formas para seleccionar un elemento, pero no se porque no me seleciona ninguno.
A continuación pongo las 2 formas que he probado con el código que estoy utilizando. Pongo las 2 formas, pero las he probado individualmente.

Código Delphi [-]
                    for i := 0 to ListaModelos.Items.Count - 1 do
                    begin
                         if (nombre_modelo = ListaModelos.Items[i].Caption) then
                         begin
                              ListaModelos.Selected := ListaModelos.items[i]; // 1
                              ListaModelos.items[i].Selected := true; // 2
                         end;
                    end;

No se si es que me falta algo. Y he comprobado que entra en el 'IF'.

Muchas gracias de antemano y saludos.

roman 21-06-2005 23:16:08

¿Estás seguro de que no lo selecciona?

Si el nodo no está dentro del área visible del TreeView, éste no se desplaza automáticamente al nodo selecconado. Para ello hay que usar Nodo.MakeVisible

// Saludos

weke 21-06-2005 23:43:16

El componente que estoy utilizando es un listview. Todos los elementos del listview están visibles, pero no me selecciona ninguno.
Por eso preguntaba si había alguna otra forma para seleccionarlo.

Muchas gracias.

roman 22-06-2005 03:57:17

Sí, dsculpa, estaba confundiendo pero en realidad lo que menciono es igual para el ListView y un ListItem. No veo cuál puede ser el problema, cualquiera de los dos métodos que usas debería bastar.

// Saludos

dec 22-06-2005 11:37:36

Hola,

Puede ocurrir que el "ListView" pierda el foco... o algo así: el caso es que de este modo parece funcionar con hasta tres instrucciones diferentes:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
 begin
   // Esto selecciona el item, pero no lo "enfoca"
   ListView.ItemFocused := ListView.Items[1];
 
   // Esto selecciona el "item" y lo enfoca
   ListView.Selected := ListView.items[1];
 
   // Esto hace lo mismo que lo anterior
   ListView.Items[1].Selected := true;
 
   // Esto hace que cualquiera de las instrucciones
   // anteriores cumpla con su objetivo
   ListView.SetFocus;
 end;


La franja horaria es GMT +2. Ahora son las 22:25:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi