Limitar a la lista un combo

Mari
22 de Diciembre del 2003
Hola programadores.
Mi duda es cómo puedo limitar a la lista un combo de manera que el usuario sólo me seleccione los elementos que hay en el.
Gracias por la colaboración. Hace mucho tiempo que he estado investigando sobre ésto, sin embargo no he enccontrado nada.

kinoscar
22 de Diciembre del 2003
con las propiedades de style puedes hacer que el usuario no pueda escribir en el combo si no que solo selecciona y si escribe un caracter se valla al primero que coincida, me parece que es la opcion 3

Mari
22 de Diciembre del 2003
Gracias Kinoscar, el problema es que con esta propiedad no me deja asignarle ningún valor al combo porque me dice que la propiedad Text es de sólo lectura.

Baltasar
22 de Diciembre del 2003
Lo que te ha contestado kinoscar es lo más correcto.
Mari, si usas lo de "bloquear" el combo para que no se pueda escribir en él, entonces la única manera de darle valor (siempre dentro de los valores que ya tiene) es manejando la propiedad listindex. si quieres que tome el valor "cuatro", pues has de recorrer el combo hasta encontrarlo, y entonces le asignas la propiedad listindex que necesites.

Saludos

kinoscar
22 de Diciembre del 2003
curiosamente no es necesario recorer el combo para asignar un valor que ya tiene basa con hacerle un .text pero este debe ser exactamente igual a uno de los contenidos, esto es util cuando los datos que contiene del combo provienen de una base de datos me explico mejor usando la misma sintaxtis anterior
tienes

uno
dos
tres

si por codigo quieres colcocar uno, no es necesario tener que buscarlo y rescatar su listindex sino que se coloca .text="uno", si quieres hacer un .text="cuatro" te dice que es solo de lectura porque cuatro no se encuentra en su lista, pero si le das un .text="" te dice que es de solo lectura aun cuando el espacio vacio si es parte de la lista asi que en ese caso uso el listindex que siempre es 0 ya que es el primer data que siempre ingreso cuando lleno el combo

tan tan

kinoscar
22 de Diciembre del 2003
si lo haces por codigo te dice eso cuando en la lista no existe el valor que le estas ingresando ej.
en tu lista tienes

uno
dos
tres

si por codigo le asignas cualquiera de estos se te completara sin problema pero si le dices 4 te arroja ese error,
si quieres darle un espacio vacio has que el primer dato de tu lista sea un espacio vacio. additem ""
y despues haces este listindex=0 con eso se te limpia

suerte

Alexis
22 de Diciembre del 2003
No entiendo lo qie quieres hacer

Andres
22 de Diciembre del 2003
Mari para que solo selecciones los elememtos que están en la lista del combo has lo siguiente en el evento keypress del combo escribe keyascii = 0 , con esta sencilla linea de codigo solucionarás tu problema.

si tienes alguna otra inquietud escribeme.

Suerte