| Definir
un ComboBox con Imágenes y fuente en un
color específico, además de otras
características.
En cuantas ocasiones hemos querido que al lado
de la opción de nuestro ComboBox
se muestre una imagen, y que además cuando
existe una condición lógica dicha
opción no este disponible para el usuario,
pues existe una forma muy sencilla y clara de
hacerlo, consiste en utilizar la propiedad RowSourceType
del objeto ComboBox. FoxPro nos
permite utilizar la Propiedad RowSourceType=9
(Emergente), cuando esta propiedad toma
este valor en el ComboBox se despliegan las barras
definidas en un PopUp.
1. Paso I: Definir el PopUp
2. Paso II:Enlazar el PopUp y el
ComboBox
3. Ejemplo
Paso I: Definir
el PopUp
Lo primero que se debe hacer es definir el PopUp
y las barras, estas las definimos así:
DEFINE POPUP "MiEmergente"
DEFINE BAR 1 OF MiEmergente PROMPT "Mi
Opción 1" COLOR ,RGB(255,0,0)
PICTURE "BMP\ACTUALIZAR.BMP" SKIP
FOR llM?ostrarOpcion1=.f.
DEFINE BAR 2 OF MiEmergente PROMPT "Mi
Opción 2" |
Análisis: La sintaxis no debe ser desconocida
pues se trata de la definición normal de
un PopUp, sin embargo la recordemos. El PopUp
es un contenedor en el cual podemos agregar opciones
según nuestra necesidad, para nuestro caso
solo necesitamos definirlo con DEFINE POPUP NamePopUP,
así que obviamos parámetros como
el MultiLista entre otros. Una vez definido el
PopUp comenzamos a definir las barras, las barras
las definimos con la siguiente sintaxis:
DEFINE BAR nMenuItemNumber1 OF NamePopUP
PROMPT cMenuItemText [PICTURE
cFileName] [PICTRES cMenubarName]
[FONT cFontName [, nFontSize
[, nFontCharSet]]] [STYLE cFontStyle]
[SKIP [FOR lExpression]]
[COLOR ,Color]
[INVERT] |
Si establece características no compatibles
el ComboBox las ignora. Podemos darnos cuenta
que el ComboBox nos permite establecer una imagen,
cambiar la fuente, saltar según la condición,
definir un color del texto y hasta mostrarla en
forma invertida.
Paso II: Enlazar el
PopUp y el ComboBox
La definición del PopUp la podemos hacer
desde Load del formulario contenedor o incluso
desde el Init del ComboBox asi:
*!* Metodo Init del ComboBox
DEFINE POPUP "MiEmergente"
DEFINE BAR 1 OF MiEmergente PROMPT "Mi
Opción 1" COLOR ,RGB(255,0,0)
PICTURE "BMP\ACTUALIZAR.BMP"
DEFINE BAR 2 OF MiEmergente PROMPT "Mi
Opción 2"
this.RowSourceType= 9 this.RowSource="MiEmergente" |
Listo ya hemos terminado el resultado es el siguiente:

Ejemplo
<<<DESCARGAR EJEMPLO>>
José
Guillermo Ortiz Hernández
Programador Visual FoxPro, WEB Developer
|