Control ComboBox

El control ComboBox muestra una lista desplegable de valores predefinidos y un campo de edición en el que el usuario puede escribir un valor. Para asociar este control a una propiedad de cadena o entero, escriba el nombre de la propiedad en la columna Property de la tabla Control.

Atributos de control

Puede usar los atributos siguientes con este control. Para cambiar el valor de un atributo mediante un evento, suscriba el control a un ControlEvent en la tabla EventMapping y enumere el identificador del atributo en la columna Attribute. Escriba el identificador de ControlEvent en la columna Event.

Identificador de atributo Bit hexadecimal Descripción
IndirectPropertyName Este es el nombre de una propiedad indirecta asociada al control. Si se establece el bit de atributo indirecto, el control muestra o cambia el valor de la propiedad que tiene este nombre. Si se establece el bit de atributo indirecto, este nombre también es el valor de la propiedad que aparece en la columna Property de la tabla Control.
Posición Posición del control en el cuadro de diálogo. Especifique el ancho, el alto y las coordenadas del control de la esquina izquierda del control en las columnas Width, Height, X e Y de la tabla Control. Use unidades del instalador para la longitud y la distancia.
PropertyName Este es el nombre de la propiedad asociada a este control. Si no se establece el bit de atributo indirecto, el control muestra o cambia el valor de la propiedad que tiene este nombre. Este atributo se especifica en la columna Property de la tabla Control.
PropertyValue Valor actual de la propiedad que este control muestra o cambia. Si no se establece el bit de atributo Indirect, este es el valor de PropertyName. Si se establece el bit de atributo Indirect, este es el valor de IndirectPropertyName. Si el atributo cambia, el control refleja el nuevo valor.
Texto Para establecer la fuente y el estilo de fuente de una cadena de texto, anteponga la cadena de caracteres mostrados con {\style} o {&style}, Donde style es un identificador que aparece en la columna TextStyle de la tabla TextStyle. Si ninguno de estos elementos está presente, pero la propiedad DefaultUIFont está definida como un estilo de texto válido, se usará esa fuente. Para especificar el número de caracteres que el usuario puede especificar, anexe {n} después de cualquier especificación de fuente, donde n es un entero positivo.
Visible 0x00000000 0x00000001
Control oculto. Control visible.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para que el control esté visible u oculto al crearlo.
Un control se puede ocultar o mostrar también mediante la tabla ControlCondition.
Enabled 0x00000000 0x00000002
Control en estado deshabilitado. Control con el estado habilitado.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para habilitar el control al crearlo.
También se puede habilitar o deshabilitar un control mediante la tabla ControlCondition.
Sunken 0x00000000 0x00000004
Muestra el estilo visual predeterminado. Muestra el control con un aspecto 3D, con profundidad.
Incluya estos bits en la palabra de bit de la columna Attributes de la tabla Control.
Indirecto 0x00000000 0x00000008
El control muestra o cambia el valor de la propiedad en la columna Property de la tabla Control. El control muestra o cambia el valor de la propiedad que tiene el identificador que aparece en la columna Property de la tabla Control.
Determina si se hace referencia indirectamente a la propiedad asociada a este control.
Entero 0x00000000 0x00000010
La propiedad asociada al control es un valor de cadena. La propiedad asociada al control es un valor entero.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para establecer este atributo al crear el control.
RTLRO 0x00000000 0x00000020
El texto del control se muestra en orden de lectura de izquierda a derecha. El texto del control se muestra en orden de lectura de derecha a izquierda.
RightAligned 0x00000000 0x00000040
El texto del control está alineado a la izquierda. El texto del control está alineado a la derecha.
LeftScroll 0x00000000 0x00000080
La barra de desplazamiento se encuentra a la derecha del control. La barra de desplazamiento se encuentra a la izquierda del control.
BiDi 0x000000E0 Establezca este valor para una combinación de los atributos RTLRO, RightAligned y LeftScroll.
Sorted No establecido 0x00010000
Los elementos se muestran en orden alfabético. Los elementos se muestran en el orden que se especifica en la tabla ListView.
El control consulta la tabla ComboBox y, si se establece el bit de estilo Sorted, el control ComboBox tiene el estilo CBS_SORT y muestra los elementos según lo especificado por Ordering. Si no se establece este bit de estilo, los elementos se muestran en orden alfabético.
ComboList No establecido 0x00020000
Cuadro combinado con campo de edición. El cuadro combinado con campo de edición se reemplaza por un campo de texto estático.
UsersLanguage 0x00000000 0x00100000
Fuentes creadas en la página de códigos de la base de datos. Fuentes creadas en la página de códigos de la interfaz de usuario predeterminada del usuario.

Observaciones

Este control se puede crear a partir de la clase COMBOBOX mediante la función CreateWindowEx. Tiene los estilos CBS_AUTOHSCROLL, WS_TABSTOP, WS_GROUP y WS_CHILD. Si el bit ComboList está activado, también tiene el estilo CBS_DROPDOWNLIST. De lo contrario, tiene el estilo CBS_DROPDOWN.

La longitud del texto que se puede especificar se puede limitar poniendo un número de 0 a 2147483646 entre llaves al principio del campo Text de la tabla Control. Por ejemplo, si el campo de texto comienza por {80}, la longitud de la cadena está limitada a 80 caracteres. Si no se proporciona dicho límite en la tabla o si se especifica 0, la longitud se establece en el máximo posible (2147483646 caracteres). Un valor negativo o no numérico generará un error.

Para la compatibilidad con lectores de pantalla, al crear un cuadro de diálogo con un control ComboBox como primer control activo, debe convertir el campo de texto del campo de edición en el primer control activo de la tabla Dialog. Dado que el texto estático no puede recibir el foco, cuando se crea el cuadro de diálogo, el campo de edición tendrá el foco inicialmente según lo previsto. Esto garantiza que los lectores de pantalla muestren la información correcta.