Crear un combobox on opciones

5,316 views
Skip to first unread message

Adrian Aguirre

unread,
Sep 12, 2011, 5:43:33 PM9/12/11
to Comunidad de Visual Foxpro en Español
Buenas tardes a todos mi problema es el siguiente quiero crear un
combobox que cuando lo ejecute en el formulario y apriete la flecha de
menu del combobox me aparezcan las opciones: 1-tarjeta de credito, 2-
efectivo, 3- Cheque. Un amigo me dijo que para hacer esto tengo que
utilizar un combobox por cada opcon que hay para elegir pero a mi me
parece que debe haber otra manera. Alguno de ustedes sabe como
desplegar todas estas opciones(tarjeta,efectivo, cheque) en un solo
combobox?desde ya muchas gracias

Walter R. Ojeda Valiente

unread,
Sep 12, 2011, 5:55:43 PM9/12/11
to publice...@googlegroups.com
Es demasiado fácil.

Tienes varias formas de hacerlo.

La más sencilla es agregar un combobox a tu formulario, luego hacer click con el botón derecho sobre él, luego elegir la opción "Builder...", luego elegir "Data entered by hand" y en la grilla poner los valores que deseas (si tu versión de Visual FoxPro está en castellano, busca las opciones equivalentes).

También puedes hacer lo mismo mediante código escribiendo algo como:

WITH ThisForm.Combo1
  .Clear()
  .AddItem("1-tarjeta de crédito")
  .AddItem("2-efectivo")
  .AddItem("3-cheque")
ENDWITH

Esas instrucciones podrías escribirlas en el método INIT() de tu formulario o en el que te resulte más adecuado.

Saludos.

Walter.



> Date: Mon, 12 Sep 2011 14:43:33 -0700
> Subject: [vfp] Crear un combobox on opciones
> From: adrian.ag...@gmail.com
> To: publice...@googlegroups.com

Adrian Aguirre

unread,
Sep 12, 2011, 6:07:58 PM9/12/11
to Comunidad de Visual Foxpro en Español
Gracias se que mi pregunta es algo tonta pero no sabia como hacerla
graciuas por haberte tomado el tiempo de sacarme esta duda, te
agradezco

On 12 sep, 16:55, "Walter R. Ojeda Valiente" <w...@hotmail.com> wrote:
> Es demasiado fácil.
>
> Tienes varias formas de hacerlo.
>
> La más sencilla es agregar un combobox a tu formulario, luego hacer click con el botón derecho sobre él, luego elegir la opción "Builder...", luego elegir "Data entered by hand" y en la grilla poner los valores que deseas (si tu versión de Visual FoxPro está en castellano, busca las opciones equivalentes).
>
> También puedes hacer lo mismo mediante código escribiendo algo como:
>
> WITH ThisForm.Combo1
>   .Clear()
>   .AddItem("1-tarjeta de crédito")
>   .AddItem("2-efectivo")
>   .AddItem("3-cheque")
> ENDWITH
>
> Esas instrucciones podrías escribirlas en el método INIT() de tu formulario o en el que te resulte más adecuado.
>
> Saludos.
>
> Walter.
>
>
>
>
>
>
>
> > Date: Mon, 12 Sep 2011 14:43:33 -0700
> > Subject: [vfp] Crear un combobox on opciones
> > From: adrian.aguirreo...@gmail.com

Walter R. Ojeda Valiente

unread,
Sep 12, 2011, 6:11:44 PM9/12/11
to publice...@googlegroups.com
De nada, y no te preocupes, nadie nació sabiendo programar en VFP, todos hemos aprendido lo que sabemos después.

Una sugerencia más con respecto a los combobox. Es buena práctica que nunca tengan más de 12 ítems porque se ha comprobado que hasta esa cantidad a los usuarios les resulta cómodo usarlos.

Saludos.

Walter.



> Date: Mon, 12 Sep 2011 15:07:58 -0700
> Subject: [vfp] Re: Crear un combobox on opciones
> From: adrian.ag...@gmail.com
> To: publice...@googlegroups.com

Daniel Del Giudice

unread,
Sep 13, 2011, 4:51:18 PM9/13/11
to Comunidad de Visual Foxpro en Español
Además yo pondría la propiedad Style en 2 -> Dropdown list

Fijate que se comportan distinto según el valor de esta propiedad.

Irlandes 1960

unread,
Sep 15, 2011, 7:00:55 PM9/15/11
to publice...@googlegroups.com
Hola. sin desmerecer, la solucion de walter es por codigo escrito, desaprovechando las facilidades graficas.
Deberias apuntar a la interface grafica de diseño del formulario, que es mucho mas potente y productiva, usando la ventana de propiedades (propertie windows, aparece / desaparece con un botoncito de la barra de herramientas)
Al pegar el objeto combobox, trabajas sobre la opcion de origen de los datos ROWSOURCETYPE, basicamente con dos opciones: una tabla con los medios de pagos (valor 6, es lo que asume) , o que estos sean opciones fijas (valor 1)
En el primer caso, deberias tener alguna tablita (que si queres, podes crearla en el propio formulario, en el entorno de datos por ejemplo) y se asocia a la propiedad ROWSOURCE, tipicamente "mitablita.codigo, descripcion"
en el caso de trabajar por valores, se escriben los valores que quieras separados por coma, siguiendo el mismo criterio algo asi como "1,tarjeta de credito,2,efectivo,3,cheque"
Trabajar asi te permite que cuando quieras saber que hace o como funciona cualquier objeto de tu form, te pongas sobre ese objeto y tengas las respuestas en la ventana de propiedades de ese objeto, sin tener que estar buscando en el codigo.
Nota 1: rara vez conviene trabajar los codigos como numericos, que no hacen mas de enmascarar el dato. Si vas a guardar el medio de pago usado en una tabla, usa un campo caracter y que se entienda que es, x ej TC/EF/CH como minimo, aunque dos caracteres suelen ser poco (despues aparece pago en dolares, en transferencia electronica, trueque de gallinas y solo dios sabe que  mas)
Nota 2: tambien podes encarar el mismo problema usando un optiongroup, definiendo la cantidad de botones en 3, y asignando la propiedad caption de cada uno al medio de pago que quieras, y luego preguntando por la propiedad value del optiongroup en cuestion. la ventaja es que quedan a la vista las tres opciones, y es muy claro cual tiene el puntito de seleccion. la contra es que es mas complicado despues agregar otras opciones, ya que ocupan espacio en paantalla.
Suerte.

Reply all
Reply to author
Forward
0 new messages