---
title: roClockWidget
slug: develop/es/roclockwidget
docTags: 
createdAt: 2025-03-11T07:07:18.732Z
---

Este objeto coloca un reloj en la pantalla. Solo tiene argumentos de construcción.

Creación del objeto: El objeto *roClockWidget* se crea con varios parámetros.

```text
CreateObject("roClockWidget", rect As roRectangle, res As roResourceManager, display_type As Integer)
```

- `rect`: El rectángulo en el que se muestra el reloj. El widget selecciona una fuente según el tamaño del rectángulo.
- `res`: Un archivo *resources.txt* que permite la localización mediante el objeto *roResourceManager* (consulte a continuación para obtener más detalles).
- `display_type`: Use 0 solo para la fecha y 1 solo para el reloj. Para mostrar ambos en la pantalla, debe crear dos widgets.

**Ejemplo**

```text
rect=CreateObject("roRectangle", 0, 0, 300, 60)
res=CreateObject("roResourceManager", "resources.txt")
c=CreateObject("roClockWidget", rect, res, 1)
c.Show()
```

El administrador de recursos se pasa al widget, que utiliza los siguientes recursos dentro del archivo *resources.txt* para mostrar correctamente la hora y la fecha. Estas son las entradas de "eng":

```text
[CLOCK_DATE_FORMAT]
eng "%A, %B %e, %Y"
[CLOCK_TIME_FORMAT]
eng "%l:%M"
[CLOCK_TIME_AM]
eng "AM"
[CLOCK_TIME_PM]
eng "PM"
[CLOCK_DATE_SHORT_MONTH]
eng "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"
[CLOCK_DATE_LONG_MONTH]
eng
"January|February|March|April|May|June|July|August|September|October|November|December"
[CLOCK_DATE_SHORT_DAY]
eng "Sun|Mon|Tue|Wed|Thu|Fri|Sat"
[CLOCK_DATE_LONG_DAY]
eng "Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday"
```

## Caracteres de control

Los siguientes son los caracteres de control para las cadenas de formato de fecha/hora:

```text
// Date format
//
// %a Abbreviated weekday name
// %A Long weekday name
// %b Abbreviated month name
// %B Full month name
// %d Day of the month as decimal 01 to 31
// %e Like %d, the day of the month as a decimal number, but without leading zero
// %m Month name as a decimal 01 to 12
// %n Like %m, the month as a decimal number, but without leading zero
// %y Two digit year
// %Y Four digit year

// Time format
//
// %H The hour using 24-hour clock (00 to 23)
// %I The hour using 12-hour clock (01 to 12)
// %k The hour using 24-hour clock (0 to 23); single digits are preceded by a blank.
// %l The hour using 12-hour clock (1 to 12); single digits are preceded by a blank.
// %M Minutes (00 to 59)
// %S Seconds (00 to 59)
```

## ifWidget

### SetForegroundColor(color As Integer) As Boolean

Establece el color de primer plano en formato ARGB. Los valores de color hexadecimales deben convertirse a enteros antes de pasarse a este método (por ejemplo, el valor `&hFFFFFFFF` debe pasarse como 4294967295). Puede usar el método `HexToInteger()` (disponible en la [extensión de la biblioteca principal](docId\:A2aQ-FRNAG8hDSsDqnY8k)) para convertir una cadena hexadecimal en un entero.

### SetBackgroundColor(color As Integer) As Boolean

Establece el color de fondo en formato ARGB. Los valores de color hexadecimales deben convertirse a enteros antes de pasarse a este método (por ejemplo, el valor `&hFFFFFFFF` debe pasarse como 4294967295). Puede usar el método `HexToInteger()` (disponible en la [extensión de la biblioteca principal](docId\:A2aQ-FRNAG8hDSsDqnY8k)) para convertir una cadena hexadecimal en un entero.

:::hint{type="info"}
Los 8 bits superiores de los valores `SetForegroundColor()` y `SetBGackgroundColor()` son parámetros de "alpha". Cero equivale a completamente transparente y 255 a completamente opaco. Esta función permite efectos similares a los subtítulos. Por ejemplo, puede crear un cuadro negro semitransparente que contenga texto sobre un video.
:::

### SetFont(font\_filename As String) As Boolean

Establece *font\_filename* usando una fuente TrueType (por ejemplo, `SD:/Arial.ttf`).

### SetBackgroundBitmap(bitmap\_filename As String, stretch As Boolean) As Boolean

Establece la imagen bitmap de fondo. Si stretch es True, entonces la imagen se ajusta al tamaño de la ventana.

### SetBackgroundBitmap(parameters As roAssociativeArray, stretch As Boolean) As Boolean

Establece la imagen bitmap de fondo. Si *estirar* es True, entonces la imagen se ajusta al tamaño de la ventana. El arreglo asociativo puede contener los siguientes parámetros:

- `Nombre de archivo`: El nombre del archivo de imagen
- `Algoritmo de cifrado`: El algoritmo de cifrado de archivos. Actualmente las opciones son "AesCtr" y "AesCtrHmac".
- `Clave de cifrado`: La clave para descifrar el archivo de imagen. Esta es una matriz de bytes compuesta por 128 bits de clave, seguidos por 128 bits de IV.

:::hint{type="info"}
Consulte [Descifrado de imágenes](docId\:z65qEZ0xwq9C70OBEgcYI) para obtener detalles sobre cómo mostrar imágenes cifradas.
:::

### SetSafeTextRegion(region As roRectangle) As Boolean

Especifica el rectángulo dentro del widget donde el texto puede dibujarse de forma segura.

### Show() As Boolean

Muestra el widget. Después de la creación, el widget permanece oculto hasta que se llama a `Show()` .

### Hide() As Boolean

Oculta el widget.

### Raise() As Void

Envía el widget a la parte superior del orden z en el plano gráfico (es decir, delante de todas las demás superficies que implementan la interfaz *ifWidget* ). De forma predeterminada, los nuevos widgets se colocan en la parte superior del orden z gráfico.

:::hint{type="info"}
Algunas superficies siempre se dibujan en la parte superior del orden z gráfico, incluidos el cursor del mouse, los subtítulos y [marquesinas desplazables](docId:2PWSmk6GFbdKC8rtFzKfj).
:::

:::hint{type="success"}
**Consejo**
Puede usar los métodos `PauseGraphics()`/ `ResumeGraphics()` en el objeto [roVideoMode](docId\:f0DvNrbDpvGOzlRVB29gd) para garantizar que múltiples cambios en el orden z gráfico ocurran simultáneamente.
:::

### Lower() As Void

Envía el widget a la parte inferior del orden z en el plano gráfico (es decir, detrás de todas las demás superficies que implementan la interfaz *ifWidget* ). De forma predeterminada, los nuevos widgets se colocan en la parte superior del orden z gráfico.

### GetFailureReason() As String

Proporciona información útil adicional si el valor de retorno de una función indica un error.

### SetRectangle(r As roRectangle) As Boolean

Cambia el tamaño y la posición del rectángulo del widget usando el objeto *roRectangle* .
