Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 151
Poder: 6
ArtPortEsp Va por buen camino
Autoseleccion en Tlistbox - Delphi 7 -

Hola a todos;

necesito hacer una autoseleccion de los items de un ListBox conforme se vayan agregando nuevos, no encuentro como hacerlo, alguna sugerencia?

Saludos y gracias anticipadas
Responder Con Cita
  #2  
Antiguo Hace 3 Semanas
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No entiendo bien qué es lo que quieres, pero para seleccionar un item, está la propiedad ItemIndex.
Supongo que después de agregarlo a Items deberás buscar la posición en la que se ha agregado y asignarla a ItemIndex

Código Delphi [-]
with Listbox1 do
begin
  // Se agrega un nuevo elemento
  Items.Add('Prueba');

  // Asigno la cantidad de elementos -1 como ItemIndex, porque el índice empieza en 0.
  ItemIndex := Items.Count -1;
end;
Responder Con Cita
  #3  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ArtPortEsp Ver Mensaje
necesito hacer una autoseleccion de los items de un ListBox conforme se vayan agregando nuevos, no encuentro como hacerlo, alguna sugerencia?
En versiones nueva hay un SelectAll (si es que necesitas multiselección).

Código Delphi [-]
uses
  System.DateUtils;

procedure TForm3.Button1Click(Sender: TObject);
begin
  // rellenar klos meses del año
  for var i := 1 to 12 do
    ListBox1.Items.Add(FormatDateTime('mmmm', EncodeDate(YearOf(Now), i, 1)));
  // Seleccionar todos
  ListBox1.MultiSelect := True;
  ListBox1.SelectAll;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo Hace 2 Semanas
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 151
Poder: 6
ArtPortEsp Va por buen camino
Angry

Voy a tratar de explicarme un poco mas:

Código Delphi [-]
     for x:=0 to Archivos.Items.Count-1 do
          Archivos.Selected[x] := cbseleccionar.checked;

Con un listbox y un checkbox consigo "seleccionar" todos los items... hasta aquí todo normal....

Pero quisiera implementar un método que, si agrego nuevos items al listbox en donde ya están seleccionados todos, los nuevos elementos aparezcan también seleccionados.

Aunque es muy sencillo seleccionar y quitar la seleccion a los items con el checkbox, los usuarios no quieren "molestarse" en hacer dos click para seleccionar los items que se agregan.
Responder Con Cita
  #5  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ArtPortEsp Ver Mensaje
...quisiera implementar un método que, si agrego nuevos items al listbox en donde ya están seleccionados todos, los nuevos elementos aparezcan también seleccionados.

Código Delphi [-]
ListBox1.SelectAll;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo Hace 2 Semanas
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 151
Poder: 6
ArtPortEsp Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Código Delphi [-]
ListBox1.SelectAll;
¿En que evento lo invocarías?... suponiendo que ya tienes items seleccionados y agregas más.
Responder Con Cita
  #7  
Antiguo Hace 2 Semanas
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Me quedan dudas...
¿Hay algunos seleccionados y otros no?
¿Hay que marcarlo como seleccionado cuando al menos haya uno seleccinoado?
¿Hay que marcarlo como seleccionado cuando todos estén seleccinoados?

En cualquier caso, debes tener una función que agrega el item a la lista... allí es donde debes implementar la selección.

Por ejemplo,

Código Delphi [-]
procedure AgregarFichero(Fichero:string);
begin
  // Agrego Item
  Archivos.Items.Add(Fichero);

  // Marco todo como seleccionado
  Archivos.Items.SelectAll;
end;

o

Código Delphi [-]
procedure AgregarFichero(Fichero:string);
var 
  x : integer;
begin
  // Agrego Item
  Archivos.Items.Add(Fichero);

  // Marco los items segun cbseleccionar
  for x:=0 to Archivos.Items.Count-1 do
    Archivos.Selected[x] := cbseleccionar.checked;
end;

o

Código Delphi [-]
procedure AgregarFichero(Fichero:string);
var 
  x : integer;
  HayAlgunArchivoSeleccionado : boolean;
begin
  // Agrego Item
  Archivos.Items.Add(Fichero);

  // Si hay por lo menos uno seleccionado, selecciono el fichero insertado
  HayAlgunArchivoSeleccionado := False;
  for x:=0 to Archivos.Items.Count-1 do
    if Archivos.Selected[x] then
      HayAlgunArchivoSeleccionado := True;

  if HayAlgunArchivoSeleccionado then
  begin
    for x:=0 to Archivos.Items.Count-1 do
      if (Archivos.Items[x] = Fichero) then
        Archivos.Selected[x] := True;
  end;
end;
Responder Con Cita
  #8  
Antiguo Hace 2 Semanas
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 151
Poder: 6
ArtPortEsp Va por buen camino
Tan obvio como sencillo, de verdad que uno se ofusca tratando de encontrar el "hilo negro"... Disculpen por tomar su tiempo en algo que ahora me parece tan tonto por no haberlo visto.

Gracias por su ayuda amigos
Responder Con Cita
  #9  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ArtPortEsp Ver Mensaje
¿En que evento lo invocarías?... suponiendo que ya tienes items seleccionados y agregas más.

En ningún evento, llámado después de agregar los nuevos elementos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Autoselección DBLookUpComboBox koltira OOP 4 22-06-2011 18:08:30
Tamaño de TListBox ioco OOP 3 27-03-2010 18:19:54
TListBox paladincubano Varios 1 29-05-2008 18:35:26
Ancho de un TListBox beatriz g Varios 1 06-09-2006 15:04:11
Tlistbox JaMFrY Varios 5 15-06-2003 10:57:29


La franja horaria es GMT +2. Ahora son las 01:57:31.


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
Copyright 1996-2007 Club Delphi