30 de marzo de 2019

Clase ctl32_progressbar

ctl32_progressbar
Por Carlos Alloatti

Descarga


    Descripción
    Esta clase visual proporciona un control de barra de progreso que se puede usar en VFP9. Esta clase utiliza la API de Windows para crear una verdadera barra de progreso de controles comunes de Windows.

    Jerarquía de la clase
    ctl32
    ctl32_controlbase
    ctl32_progressbar

    El control ProgressBar indica el progreso de un proceso al mostrar un número apropiado de rectángulos dispuestos en una barra horizontal. Cuando el proceso se completa, la barra se llena. Las barras de progreso se usan comúnmente para darle al usuario una idea de cuánto tiempo esperar a que se complete un proceso; por ejemplo, cuando se está cargando un archivo grande.


    Las propiedades clave del control ProgressBar son ctlValue, ctlMinimum y ctlMaximum. Las propiedades ctlMinimum y ctlMaximum establecen los valores máximos y mínimos que puede mostrar la barra de progreso. La propiedad ctlValue representa el progreso que se ha hecho para completar la operación. Debido a que la barra que se muestra en el control está compuesta por bloques, el valor mostrado por el control ProgressBar solo se aproxima al valor actual de la propiedad ctlValue. En función del tamaño del control ProgressBar, la propiedad ctlValue determina cuándo mostrar el siguiente bloque.


    La forma más común de actualizar el valor de progreso actual es escribir código para establecer la propiedad ctlValue. En el ejemplo de cargar un archivo grande, puede establecer el máximo al tamaño del archivo en kilobytes. Por ejemplo, si la propiedad ctlMaximum se establece en 100, la propiedad ctlMinimum se establece en 10, y la propiedad ctlValue se establece en 50, se mostrarán 5 rectángulos. Esto es la mitad del número que se puede mostrar.


    Sin embargo, hay otras formas de modificar el valor mostrado por el control ProgressBar, además de establecer la propiedad ctlValue directamente. La propiedad ctlStep se puede usar para especificar un valor para incrementar la propiedad ctlValue por. Luego, llamar al método ctlPerformStep incrementará el valor. Para variar el valor de incremento, puede usar el método ctlIncrement y especificar un valor con el cual incrementar la propiedad ctlValue.


    Propiedades, Eventos y Métodos


    ctlAutoSize

    Obtiene o establece un valor que indica si la altura y/o el ancho del control se ajusta automáticamente.
    Value Type: Logical
    Default Value: TRUE
    Read/Write: Yes
    Observaciones:
    Si se establece en TRUE, el ancho de las barras de progreso horizontales o la altura de las barras de progreso verticales se ajustarán para que la última barra se muestre en su totalidad.

    Esto solo se aplica al valor predeterminado de stock XP theme.ed.
    ctlAutoSize = FALSE
    ctlAutoSize = TRUE
    Si cambia las dimensiones de la barra de progreso en el código, debe establecer ctlAutoSize en TRUE nuevamente para ajustar la barra de progreso.

    ctlBackColor

    Obtiene o establece el color de fondo del control.
    Value Type: Numeric
    Default Value: -1
    Read/Write: Yes
    Observaciones:
    Establézcalo en -1 para especificar el color predeterminado, o establezca en ctlDefaultBackColor, o use el método ctlResetBackColor.

    Se aplica a las barras de progreso no temáticas.

    ctlBackgroundImage

    Obtiene o establece el diseño de la imagen de fondo.
    Value Type:
    Default Value:
    Read/Write: Yes
    Observaciones:
    NO IMPLEMENTADO.

    ctlBackgroundImageLayout

    Obtiene o establece el diseño de la imagen de fondo.
    Value Type:
    Default Value:
    Read/Write: Yes
    Observaciones:
    NO IMPLEMENTADO.

    ctlBackStyle

    Especifica si el fondo de un objeto es transparente u opaco.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlBarColor

    Obsoleto. Reemplazado por la propiedad ctlForeColor equivalente .NET.

    Value Type: Numeric
    Default Value: -1
    Read/Write: Yes
    Observaciones:
    Establezca en -1 para especificar el color predeterminado, o establezca en ctlDefaultForeColor, o use el método ctlResetForeColor.

    Se aplica a las barras de progreso no temáticas.

    ctlBorderColor

    Obtiene o establece el color del borde del control.
    Value Type: Numeric
    Default Value: -1
    Read/Write: Yes
    Observaciones:
    Establezca en -1 para especificar el color predeterminado, o establezca en ctlDefaultBorderColor, o use el método ctlResetBorderColor.

    Se aplica a las barras de progreso no temáticas con ctlStyle = 3.

    ctlBottom

    Obtiene la distancia, en píxeles, entre el borde inferior del control y el borde superior del área cliente de su contenedor.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:
    El valor de esta propiedad es igual a la suma del valor de la propiedad Top y el valor de la propiedad Height.

    ctlCanFocus

    Especifica si el control puede recibir el foco.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:
    NO APLICABLE A ESTE CONTROL.
    En circunstancias normales, NUNCA cambie el valor de esta propiedad.

    ctlCaption

    Obsoleto.
    Obsoleto. No lo use. 
    ctlControlSource

    Especifica la fuente de datos a la que está vinculado un objeto.
    Value Type: Character
    Default Value: NONE
    Read/Write: Yes
    Observaciones:
    Una vez que la propiedad ControlSource se establece en un campo o variable, la propiedad ctlValue siempre tiene el mismo valor de datos que la variable o campo en el que se establece la propiedad ControlSource. Use un campo numérico o variable.

    ctlCreateControl

    Fuerza la creación del control, incluida la creación del identificador y los controles secundarios.
    Observaciones:
    En circunstancias normales, no hay necesidad de llamar a este método.

    ctlCreated

    Obtiene un valor que indica si se ha creado el control.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Read only.
    Observaciones:

    ctlDefaultBackColor

    Obtiene el color de fondo predeterminado del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:

    ctlDefaultBorderColor

    Obtiene el color de borde predeterminado del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:

    ctlDefaultForeColor

    Obtiene el color de primer plano predeterminado del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:

    ctlDefaultHeight

    Obtiene la altura predeterminada del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlDefaultWidth

    Obtiene el ancho predeterminado del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlDispose

    Libera todos los recursos utilizados por el control.
    Observaciones:
    En circunstancias normales, no hay necesidad de llamar a este método, la clase misma lo llama desde Destroy.

    ctlEnabled

    Obtiene o establece un valor que indica si el control puede responder a la interacción del usuario.
    Value Type: Logical
    Default Value: TRUE
    Read/Write: Yes
    Observaciones:
    NO APLICABLE A ESTE CONTROL.
    Con la propiedad Enabled, puede habilitar o deshabilitar los controles en tiempo de ejecución. Por ejemplo, puede deshabilitar los controles que no se aplican al estado actual de la aplicación. También puede deshabilitar un control para restringir su uso. Por ejemplo, se puede deshabilitar un botón para evitar que el usuario haga clic en él. Si un control está deshabilitado, no se puede seleccionar.

    ctlFocused

    Obtiene un valor que indica si el control tiene foco de entrada.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Read only.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontBold

    Especifica si el texto está en negrita.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontCharset

    Especifica el conjunto de caracteres, o la secuencia de comandos de idioma, de la fuente.
    Value Type: Numeric
    Default Value: 1
    Read/Write: Yes
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontItalic

    Especifica si el texto está en cursiva.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontName

    Especifica el nombre de la fuente.
    Value Type: Character
    Default Value: "Default"
    Read/Write: Yes
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontSize

    Especifica el tamaño en puntos de la fuente.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Yes
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontStrikethru

    Especifica si el texto está tachado.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlFontUnderline

    Especifica si el texto está subrayado.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes.
    Observaciones:
    NO APLICABLE A ESTE CONTROL.

    ctlForecolor

    Obtiene o establece el color de primer plano del control.
    Value Type: Numeric
    Default Value: -1
    Read/Write: Yes
    Observaciones:
    Establezca en -1 para especificar el color predeterminado, o establezca en ctlDefaultForeColor, o use el método ctlResetForeColor.

    Se aplica a las barras de progreso no temáticas.

    ctlFormat

    Obsoleto.
    Obsoleto. No se use.
    ctlHandle

    Obtiene el identificador de ventana al que está vinculado el control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only at runtime.
    Observaciones:
    El valor es un Windows HWND.

    ctlHide

    Oculta el control del usuario.
    Observaciones:
    Ocultar el control es equivalente a establecer la propiedad ctlVisible en false. Después de llamar al método ctlHide, la propiedad ctlVisible devuelve un valor falso hasta que se llama al método ctlShow.

    ctlHostFormhWnd

    Obtiene el identificador de ventana de la ventana interna del formulario primario.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only at runtime.
    Observaciones:
    El valor es un Windows HWND.

    ctlHosthWnd

    Obtiene el identificador de Windows del objeto primario de este control, si hay uno.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only at runtime.
    Observaciones:
    El valor es un Windows HWND.

    ctlhWnd

    Obsoleto. Reemplazado por la propiedad ctlHandle equivalente .NET.
    Obtiene el identificador de ventana al que está vinculado el control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only at runtime.
    Observaciones:
    El entorno operativo de Microsoft Windows identifica cada formulario en una aplicación asignándole un identificador, o hWnd. La propiedad hWnd se usa con las llamadas a la API de Windows. Muchas funciones del entorno operativo de Windows requieren el hWnd de la ventana activa como argumento.

    ctlIncrement

    Avanza la posición actual de la barra de progreso en la cantidad especificada.
    Observaciones:
    El método Increment le permite incrementar el valor de la barra de progreso en una cantidad específica. Este método para incrementar la barra de progreso es similar al uso de la propiedad Step con el método PerformStep. La propiedad Value especifica la posición actual de la Barra de progreso. Si, después de llamar al método Increment, la propiedad Value es mayor que el valor de la propiedad Maximum, la propiedad Value permanece en el valor de la propiedad Maximum. Si, después de llamar al método Increment con un valor negativo especificado en el parámetro valor, la propiedad Value es menor que el valor de la propiedad Minimum, la propiedad Valor permanece en el valor de la propiedad Minimum.

    ctlIsHandleCreated

    Obtiene un valor que indica si el control tiene un identificador asociado.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes.
    Observaciones:

    ctlLocationLeft

    Obtiene la coordenada izquierda de la esquina superior izquierda del control en relación con la esquina superior izquierda de su contenedor. (ObjToClient)
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:

    ctlLocationTop

    Obtiene la coordenada superior de la esquina superior izquierda del control en relación con la esquina superior izquierda de su contenedor. (ObjToClient)
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:

    ctlMarquee

    Indica el progreso al desplazar continuamente un bloque a través de una barra de progreso en forma de recuadro.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:
    Applies to: Windows XP or higher
    ctlMarquee = TRUE, ctlThemes = FALSE

    ctlMarquee = TRUE, ctlThemes = TRUE

    ctlMarqueeAnimationSpeed

    Obtiene o establece el período de tiempo, en milisegundos, que toma el bloque de progreso para desplazarse por la barra de progreso.
    Value Type: Numeric
    Default Value: 100
    Read/Write: Yes
    Observaciones:

    ctlMarqueeSpeed

    Obsoleto. Reemplazado por la propiedad ctlMarqueeAnimationSpeed equivalente a .NET.
    Value Type: Numeric
    Default Value: 100
    Read/Write: Yes
    Observaciones:

    ctlMaximum

    Obtiene o establece el valor máximo del rango del control.
    Value Type: Numeric
    Default Value: 100
    Read/Write: Yes
    Observaciones:
    Se puede especificar un valor entre -2147483648 y 2147483647. (-0x7FFFFFFF a 0x7FFFFFFF, un número con signo de 32 bits)

    ctlMaximumBytes

    Obtiene el valor máximo como una cadena formateada en Bytes / MB / GB / TB.
    Value Type: Character
    Default Value: "100 Bytes"
    Read/Write: Yes
    Observaciones:

    ctlMinimum

    Obtiene o establece el valor mínimo del rango del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Yes
    Observaciones:
    Se puede especificar un valor entre -2147483648 y 2147483647. (-0x7FFFFFFF a 0x7FFFFFFF, un número con signo de 32 bits)

    ctlMinimumBytes

    Obtiene el valor mínimo como una cadena formateada en bytes / MB / GB / TB.
    Value Type: Character
    Default Value: "0 Bytes"
    Read/Write: Yes
    Observaciones:

    ctlOrientation

    Obtiene o establece un valor que indica la orientación horizontal o vertical del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Yes.
    Observaciones:
    0: Horizontal
    1: Vertical

    ctlPercent

    Obtiene un valor que representa un porcentaje de Valor vs Máximo - Mínimo
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only at runtime.
    Observaciones:
    Puede usar esta propiedad para actualizar algún otro control en el evento ctlValueChanged.

    ctlPerformStep

    Avanza la posición actual de la barra de progreso por la cantidad de la propiedad ctlStep.
    Observaciones:
    Si, después de llamar al método PerformStep, la propiedad Value es mayor que el valor de la propiedad Maximum, la propiedad Value permanece en el valor de la propiedad Maximum. Si, después de llamar al método PerformStep con un valor negativo especificado en el parámetro de valor, la propiedad Value es menor que el valor de la propiedad mínima, la propiedad Value permanece en el valor de la propiedad mínima.

    ctlPlay

    Especifica si la barra de progreso debe incrementar su valor automáticamente.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:
    Esto se logra con un temporizador que ejecuta el método ctlStepIt () cada 100 milisegundos. Esto no funcionará al realizar una consulta SQL o una tarea intensiva del procesador, ya que el temporizador no tendrá oportunidad de ejecutarse. Puede cambiar el valor de la propiedad ctlStep para que la barra de progreso incremente su valor más rápido.

    ctlRecreatingHandle

    Obtiene un valor que indica si el control está recreando actualmente su identificador.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes.
    Observaciones:

    ctlRefresh

    Obliga al control a invalidar su área de cliente e inmediatamente se vuelve a dibujar y cualquier control secundario.
    Observaciones:

    ctlRepeat

    Obsoleto.
    Obsoleto.
    ctlReset

    Restablece la propiedad Value a ctlMinimum o ctlMaximum con un parámetro opcional.
    Observaciones:
    Si se pasa un parámetro opcional, ctlValue se restablece al valor de ctlMaximum. Cualquier tipo de parámetro servirá.

    ctlResetBackColor

    Restablece la propiedad ctlBackColor a su valor predeterminado.
    Observaciones:
    El valor predeterminado depende del sistema operativo.

    ctlResetBorderColor

    Restablece la propiedad ctlBorderColor a su valor predeterminado.
    Observaciones:
    El valor predeterminado depende del sistema operativo.

    ctlResetFont

    Restablece las propiedades ctlFont ... a sus valores predeterminados.
    Observaciones:
    El valor predeterminado depende del sistema operativo.

    ctlResetForeColor

    Restablece la propiedad ctlForeColor a su valor predeterminado.
    Observaciones:
    El valor predeterminado depende del sistema operativo.

    ctlRight

    Obtiene la distancia, en píxeles, entre el borde derecho del control y el borde izquierdo del área cliente de su contenedor.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Read only.
    Observaciones:
    El valor de esta propiedad es igual a la suma del valor de la propiedad Left y el valor de la propiedad Width.

    ctlShow

    Muestra el control al usuario. Mostrar el control es equivalente a establecer la propiedad ctlVisible en True.
    Observaciones:

    ctlShowFocusCues

    Obtiene o establece un valor que indica si el control debe mostrar rectángulos de foco.
    Value Type: Logical
    Default Value: TRUE
    Read/Write: Yes
    Observaciones:

    ctlSizeAdjust

    Obsoleto Reemplazado por la propiedad ctlAutoSize equivalente .NET.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:

    ctlSmooth

    Especifica si la barra se mostrará como un bloque continuo o como un grupo de pequeños bloques individuales.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:
    Se aplica a las barras de progreso no temáticas.
    ctlSmooth = TRUE

    ctlSmooth = FALSE

    ctlState

    VISTA. Establece el estado de la barra de progreso: Normal, Error o En pausa.
    Value Type: Numeric
    Default Value: 1
    Read/Write: Yes.
    Observaciones:
    Esto solo funciona en Windows Vista y versiones posteriores:
    State = 1 PBST_NORMAL
    State = 2 PBST_ERROR
    State = 3 PBST_PAUSED

    ctlStep

    Obtiene o establece la cantidad por la cual los métodos ctlPerformStep o ctlStepIt aumentan la posición actual de la barra de progreso.
    Value Type: Numeric
    Default Value: 1
    Read/Write: Yes.
    Observaciones:
    Puede asignar un número positivo o negativo a esta propiedad. Si ctlStep es negativo, ctlStepIt disminuirá la propiedad ctlValue.

    ctlStepIt

    Incrementa el valor del control en la cantidad especificada en ctlStep.

    Si se pasa un parámetro numérico opcional, este valor se usa en lugar de ctlStep. El uso de ctlStepIt ajusta el valor a Mínimo si alcanza el Máximo.
    Observaciones:
    La barra de progreso restablecerá ctlValue a ctlMinimum o ctlMaximum, si el valor resultante está fuera del rango min-max.

    ctlStyle

    NO COMO LA PROPIEDAD equivalente .NET. Especifica el estilo del borde de la barra de progreso.
    Value Type: Numeric
    Default Value: 1
    Read/Write: Yes.
    Observaciones:
    Esta propiedad no es equivalente a la propiedad .NET Style para las barras de progreso. La razón de esto es que esta propiedad existía en esta clase antes de refactorizar para imitar las clases .NET. El uso original no se ha cambiado para evitar que se rompan las aplicaciones.
    1: Standard 3D border progress bar.
    2: No border. Only applies to non-themed control
    3: Flat border.
    For themed progress bars, stick to ctlStyle 1.

    ctlThemes

    Especifica si se usan temas para el control.
    Especifica si los Temas de Windows XP están habilitados o deshabilitados para un control.
    Value Type: Logical
    Default Value: TRUE
    Read/Write: Yes
    Observaciones:
    La propiedad Temas para las clases visuales puede afectar su interfaz de usuario existente cuando utiliza Microsoft Windows XP. Puede desactivar este soporte configurando la propiedad Temas en el nivel variable de control, formulario o _SCREEN del sistema.

    ctlValue

    Especifica el valor actual o el estado del control.
    Value Type: Numeric
    Default Value: 0
    Read/Write: Yes
    Observaciones:

    ctlValueBytes

    Obtiene el valor actual como una cadena formateada en Bytes / MB / GB / TB.

    Devuelve una cadena de caracteres del valor actual de ctlValue, formateado en bytes, MB, GB o TB
    Value Type: Character
    Default Value: "0 Bytes"
    Read/Write: Yes
    Observaciones:

    ctlValueChanged

    Se produce cuando cambia la propiedad ctlValue.
    Se activa cuando cambia el valor de ctlValue. Puede poner código aquí para actualizar una etiqueta, por ejemplo.

    ctlValuePercent

    Devuelve una cadena de caracteres del valor actual de ctlPercent formateado con un signo%.
    Value Type: Character
    Default Value: "0 %"
    Read/Write: Yes
    Observaciones:

    ctlVertical

    Obsoleto Reemplazado por la propiedad ctlOrientation equivalente de .NET.
    Value Type: Logical
    Default Value: FALSE
    Read/Write: Yes
    Observaciones:

    ctlVisible

    Obtiene o establece un valor que indica si se muestra el control.
    Value Type: Logical
    Default Value: TRUE
    Read/Write: Yes
    Observaciones: