![]() |
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
||
|
|
|
CAPÍTULOS
La ventana principal
- Características del form
- Manipulación de componentes
- Propiedades de TForm
- Eventos de TForm
- Métodos de TForm
- Etiquetas de texto
- El control Edit
- El control Memo
- El control Button
- El control CheckBox
- El control RadioButton
- El control ListBox
- Barras de desplazamiento
- El control Bevel
- El componente Timer
- El control MaskEdit
- El control RichEdit
- El control StatusBar
- El control TrackBar
- Los controles ProgressBar, SpinButton, SpinEdit y UpDown
- El control HotKey
- El control HeaderControl
- El control PageControl
- El control TImageList
- El control MainMenu
- El control PopUp Menu
- Algunas ventanas predefinidas
- Uso de varios forms en la aplicación
- Los cuadros OpenDialog y SaveDialog
- Los cuadros FontDialog, ColorDialog y PrintDialog
- Los cuadros FindDialog y ReplaceDialog
SECCIONES
SITIOS RECOMENDADOS
OTROS SITIOS DE LA AUTORA
Curriculum vitae
A través del espejo
Weblog: Educación en Internet
Weblog: Uno por uno, uno; uno por uno, dos; uno por uno...
En línea desde el 7 de noviembre de 2000 |
4.II El control StatusBarSe denomina barra de estado a un área de la ventana, normalmente situada en la parte inferior, que sirve para mostrar mensajes e indicadores de estado. Se puede construir una barra de estado mediante un control TPanel, por ejemplo, dando un valor adecuado a la propiedad Align para que éste se sitúe en el lugar apropiado. Delphi, sin embargo, incorpora en la página Win32 de la
Paleta de componentes un control llamado TStatusBar:
Una barra de estado simpleSi vamos a usar el control TStatusBar para crear una barra de estado simple, en la que sólo se muestra un mensaje, tan sólo hemos de dar el valor True a la propiedad SimplePanel, asignando el texto a mostrar a la propiedad SimpleText. En tiempo de ejecución bastará con modificar el valor de esta última propiedad para mostrar un texto diferente. También podemos hacer desaparecer el mensaje que está actualmente visualizando simplemente asignando el valor False a la propiedad SimplePanel, haciéndolo aparecer de nuevo devolviendo a esta propiedad el valor True. La propiedad SizeGrip es la que establece la existencia o no en la barra de estado de la esquina con líneas en diagonal, que indica que es posible el cambio de tamaño del form. Por defecto esta propiedad tiene el valor True, indicando que sí es posible esa acción. Debemos dar el valor False a SizeGrip en caso de que la ventana que estamos usando sea de tamaño fijo. Múltiples paneles en la barra de estadoUn control TStatusBar puede contener una o más secciones, a las que se denomina paneles. La propiedad Panels del control TStatusPanel es un objeto de tipo TStatusPanels. Este objeto, en realidad, es una colección de objetos TStatusPanel y cuenta con una propiedad Count, que nos sirve para saber cuántos paneles existen, y los métodos precisos para poder añadir nuevos paneles, Add, y eliminar los existentes, Clear. Además, el objeto TStatusPanels dispone de una propiedad indexada, llamada Items, que es la que permite acceder a cada uno de los elementos de la colección. Por lo tanto cada uno de los elementos TStatusPanels define una sección de la barra de estado, basándose en las propiedades que se comentan en la siguiente tabla. Si la propiedad Style contiene el valor psText, será alineado según indique la propiedad Alignment, que como en otros controles puede tomar los valores taLeftJustify, taCenter y taRightJustify. El ancho del panel se especificará en puntos en la propiedad Width, pero el último panel, el que quede en el extremo derecho, siempre ocupará el resto de la barra. Mediante la propiedad Bevel indicaremos si el panel debe aparecer hundido en la barra, pbLowered resaltado, pbRaised, o al mismo nivel, pbNone.
En caso de que asignemos el valor psOwnerDraw a la propiedad Style de un TStatusPanel, ese panel no contendrá un texto, sino que deberá ser dibujado por nuestro propio programa. Cada vez que el panel deba ser dibujado, el control TStatusBar generará un evento OnDrawPanel, pasando tres parámetros al procedimiento correspondiente. El primero de estos parámetros será de tipo TStatusBar y hará referencia al control TStatusBar que ha generado el evento. El segundo será de tipo TStatus, conteniendo una referencia al panel que debe ser dibujado. Por último encontramos un parámetro de tipo Rect, conteniendo los límites de la zona de dibujo. Definir paneles en tiempo de diseñoEn la mayoría de las ocasiones es posible definir los paneles de un control TStatusBar en tiempo de diseño, para lo cual deberemos hacer una doble pulsación sobre la propiedad Panels, abriendo el correspondiente editor. En la ventana que aparece, tendremos que pulsar el botón Add por cada nuevo panel que deseemos crear, indicando a continuación el estilo, su anchura, aspecto y texto, en el Inspector de Objetos como cualquier otra propiedad. Definir paneles en tiempo de ejecuciónLa creación de los paneles de una barra de estado en tiempo de ejecución, en lugar de hacerlo en tiempo de diseño, tiene la ventaja de que el usuario puede configurar la barra de estado. Para ello disponemos de dos métodos, Add y Clear. Cada vez que llamemos al método Add se creará un nuevo objeto de tipo TStatusPanel en la barra de estado. Si llamamos al método Clear, se eliminarán todos los paneles existentes en ese momento.
|