winuser.h

CONTROL: Controles Generales

CONTROL text, id, class, style, x, y, width, height [, extended-style]

Esta sentencia define una ventana de control definida por el usuario.

Parámetros

text: especifica el texto que se muestra junto con el control. El texto es colocado en el interior de las dimensiones especificadas para el control o junto al control.

Este parámetro contiene cero o más caracteres encerrados entre comillas dobles. Las cadenas se terminan automáticamente con cero y se convierten a Unicode en el fichero de recursos resultante, excepto para cadenas especificadas en sentencias de datos sin formato. (Los datos sin formato se pueden incluir bajo la sentencia RCDATA y recursos definidos por el usuario.) Para especificar una cadena Unicode en datos sin formato, hay que especificar explícitamente que la cadena es "wide-character" usando el prefijo L.

Por defecto, los caracteres entre comillas dobles son caracteres ANSI y las sentencias de escape son interpretadas como secuencias de escape de un byte. Si la cadena está precedida con el prefijo L, la cedan se considera como cadena "wide-character" y las secuencias de escape se interpretan como secuencias de escape de dos bytes que especifican los caracteres Unicode. Si el texto debe incluir comillas dobles, se deben escribir las comillas dobles dos veces o usar la secuencia de escape \".

EL carácter & en el texto indica que el siguiente carácter se usa como un mnemónico para el control. Cuando el control se muestra por pantalla, el carácter & no se muestra, pero el carácter mnemónico se subraya. El usuario puede seleccionar el control presionando la tecla correspondiente al carácter mnemónico subrayado. Para usar el carácter & en una cadena hay que insertarlo dos veces (&&).

id: especifica el identificador del control. Debe ser un valor de entero sin signo de 16 bits dentro del rango entre 0 y 65535 o una expresión aritmética que se avalúe en ese rango.

class: especifica un nombre redefinido, una cadena de caracteres, un valor entero sin signo de 16 bits que define la clase. Puede ser cualquiera de las clases de controles; para una lista de las clases de controles, ver la lista que sigue a esta descripción. Si el valor es un nombre redefinido por la aplicación, debe ser una cadena entre comillas dobles.

style: especifica un nombre redefinido o un valor entero que especifique el estilo del control. El significado exacto del estilo depende del valor de class, las secciones que siguen a esta descripción muestran las clases de controles y sus correspondientes estilos.

x: especifica la coordenada x del lado izquierdo del control, relativo al lado izquierdo del diálogo. Debe ser un valor entero sin signo de 16 bits entre 0 y 65535. La coordenada se expresa en unidades de diálogo y es relativa al origen del cuadro de diálogo, ventana o control que contenga al control especificado.

y: especifica la coordenada y del lado superior del control, relativo al lado superior del diálogo. Debe ser un valor entero sin signo de 16 bits entre 0 y 65535. La coordenada se expresa en unidades de diálogo y es relativa al origen del cuadro de diálogo, ventana o control que contenga al control especificado.

width: especifica la anchura del control. Este valor es un entero sin signo de 16 bits entre 1 y 65535. La anchura se expresa en cuartos de unidades de carácter.

height: especifica la altura del control. Este valor es un entero sin signo de 16 bits entre 1 y 65535. La altura se expresa en octavos de unidades de carácter.

extended-style: especifica los estilos extendidos (WS_EX_xxx). Es obligatorio especificar un estilo para poder especificar también un estilo extendido. Ver también EXSTYLE.

A continuación se describen las seis clases de controles que existen.

Control de clase Button

Un control "button" es una pequeña ventana hija rectangular que representa un botón o pulsador que el usuario puede encender o apagar mediante un clic del ratón. Los controles Button pueden usarse solos o en grupos, y pueden también estar etiquetados o aparecer sin texto. Los controles Button normalmente cambian de aspecto cuando el usuario hace clic sobre ellos.

Un botón puede tener sólo uno de los siguientes estilos, con la excepción de BS_LEFTTEXTBS, el cual puede ser combinado con "check boxes" y "radio buttons".

Para ver los estilos disponibles para button consultar estilos button.

Control de clase Combobox

Los controles combo-box consisten en un campo de selección, similar a un control edit, y un list box. El list box puede ser mostrado todo el tiempo o puede desplegarse cuando el usuario selecciona el "pop box" que hay junto al campo de selección.

Dependiendo del estilo del combo-box, el usuario podrá o no editar el contenido del campo de selección. Si el list box es visible, escribir caracteres en el cuadro de selección hará que la primera entrada del list-box que coincida con el texto introducido sea seleccionada. Y la inversa, seleccionando un ítem de la lista se muestra el texto en el campo de selección. Los estilo combo-box se describen a continuación.

Para ver los estilos disponibles para combobox consultar estilos combobox.

Control de clase Edit

Un control edit es una ventana hija rectangular en la cual el usuario puede introducir texto desde el teclado. El usuario selecciona el control y le da el foco de entrada haciendo clic con el ratón dentro de él o presionando la tecla TAB. El usuario puede introducir texto cuando el control muestra un punto de inserción intermitente. El ratón puede usarse para mover el cursor y para seleccionar caracteres para ser reemplazados o para mover el cursor para insertar caracteres. La tecla de borrar puede usarse para eliminar caracteres.

Los controles edit usan fuentes de anchura constante y muestran caracteres Unicode. También expanden los caracteres tab en los espacios suficientes para mover el cursor a la siguiente parada de tabulación. Las paradas de tabulación se asume que están cada ocho caracteres.

Para ver los estilos disponibles para edit consultar estilos edit.

Control de clase Listbox

Los controles listbox consisten en una lista de cadenas de caracteres. Este control se usa cada vez que una aplicación necesita presentar una lista de nombres, como nombres de ficheros, que el usuario pueda ver y seleccionar. El usuario puede seleccionar una cadena apuntando a la cadena con el ratón y haciendo clic con el botón del ratón. Cuando una cadena se selecciona, se resalta y se envía un mensaje de notificación a la ventana padre. Se puede usar una barra de scroll con los listbox para desplazar listas muy largas o demasiado anchas para la ventana.

Para ver los estilos disponibles para listbox consultar estilos listbox.

Control de clase Scrollbar

Un control scroll-bar es un rectángulo que contiene un rectángulo para hojear (scroll thumb) y flechas de dirección en ambos extremos. El scroll bar envía mensajes de notificación a su ventana padre cada vez que el usuario hace clic con el ratón en el control. La ventana padre es la responsable de actualizar la posición del "thumb", si es necesario. El control scroll-bar tiene la misma apariencia y función que los scroll bars usados en las ventanas ordinarias. Pero al contrario que los scroll bars, los controles scroll-bar pueden ser colocados en cualquier posición en el interior de una ventana y usados cuando se necesite introducir valores de desplazamiento para una ventana.

Para ver los estilos disponibles para scrollbar consultar estilos scrollbar.

Control de clase Static

Los controles static son simples campos de texto, cajas y rectángulos que pueden usarse para etiquetar, agrupar o separar otros controles. Los controles static no toman entradas y no proporcionan salidas.

Para ver los estilos disponibles para static consultar estilos static.

Control de animacion

Los controles de animación son controles estáticos que muestran una animación gráfica. Para insertar uno de estos controles en un cuadro de edición se debe especificar la clase ANIMATE_CLASS.

Control de barra de progreso

Podemos considerar las barras de progreso como un control estático, dado que no sirven para obtener datos desde el usuario, sino sólo para informarle sobre el estado del progreso de una tarea, generalmente de una duración considerable.

Para insertar uno de estos controles en un cuadro de edición se debe especificar la clase PROGRESS_CLASS.

Control up-down

Un control UpDown está formado por un par de botones con flechas. Esos botones se usan para incrementar o decrementar un valor, generalmente asociado a otro control. Cuando este control asociado existe, se le denomina ventana amiga (buddy window). El valor asociado se denomina posición actual.

Para insertar uno de estos controles en un cuadro de edición se debe especificar la clase UPDOWN_CLASS.

Control de fecha y hora

Los controles de fecha y hora funcionan como un control de edición y permiten elegir fechas desde un control hijo. Para insertar uno de estos controles en un cuadro de edición se debe especificar la clase DATETIMEPICK_CLASS.

Para ver los estilos disponibles para controles de fecha y hora consultar estilos DateTime.

Control de List-View

Los controles List-View son controles especializados en la visualización de listas de datos. Para insertar uno de estos controles en un cuadro de edición se debe especificar la clase WC_LISTVIEW.

Para ver los estilos disponibles para controles List-View consultar estilos List-View.