Usina BRGuía AdvPL
Ingresar
← Todos los temas
COMANDOPublicado

@ ... CHECKBOX

@ <nRow>, <nCol> CHECKBOX [<oCheckBox> VAR] <lVar> [PROMPT <cCaption>] [OF <oWnd>] [SIZE <nWidth>, <nHeight>] [PIXEL]

Crea una casilla vinculada a una variable lógica y, opcionalmente, expone su objeto TCheckBox.

Interfaz visualCheckBoxTCheckBoxLógicoComandos
01 · DESCRIPCIÓN GENERAL

Descripción general

El comando @ ... CHECKBOX permite editar visualmente un valor lógico: marcado representa verdadero (.T.) y desmarcado representa falso (.F.). Durante la compilación se traduce al constructor New() de la clase TCheckBox. Utiliza VAR cuando sea necesario conservar el objeto para configurarlo o manipularlo posteriormente.

02 · SINTAXIS

Sintaxis

@ <nRow>, <nCol> CHECKBOX [<oCheckBox> VAR] <lVar> [PROMPT <cCaption>] [OF <oWnd>] [SIZE <nWidth>, <nHeight>] [PIXEL]

Parámetros

nRow, nCol
NuméricoObligatorio

Fila y columna donde se coloca el componente. Con PIXEL, las coordenadas parten de la esquina superior izquierda del componente padre.

oCheckBox VAR
ObjetoOpcional

Variable que recibe el objeto TCheckBox. Cuando se informa el objeto, VAR es obligatorio antes de la variable lógica.

lVar
LógicoObligatorio

Variable lógica editada por el componente: .T. cuando está marcado y .F. cuando está desmarcado.

PROMPT cCaption
CaractereOpcional

Texto mostrado junto a la casilla.

OF oWnd
ObjetoOpcional

Diálogo, panel, folder u otro contenedor visual propietario del componente. OF es recomendado.

SIZE nWidth, nHeight
NuméricoOpcional

Ancho y alto reservados para el componente.

ON CHANGE / ON CLICK
EventoOpcional

Acción ejecutada cuando el usuario cambia el estado.

VALID
ValidaçãoOpcional

Expresión lógica ejecutada al perder el foco; debe devolver .T. para permitir la salida.

WHEN
HabilitaçãoOpcional

Expresión lógica que determina si el componente puede recibir el foco.

FONT · COLOR · MESSAGE · PIXEL
CláusulasOpcional

Personalizan fuente, colores, ayuda contextual y sistema de coordenadas.

03 · EJEMPLO PRÁCTICO

Casilla de selección simple

#Include "TOTVS.ch"

User Function ExCheckBox()
    Local oDlg
    Local oCheckBox
    Local lActivo := .F.

    Define Dialog oDlg Title "Preferencias" ;
        From 100, 100 To 300, 440 Pixel

    @ 15, 20 CheckBox oCheckBox Var lActivo ;
        Prompt "Registro activo" Size 100, 15 ;
        Of oDlg Pixel

    @ 50, 20 Button "Confirmar" Size 55, 14 ;
        Action MsgInfo(IIf(lActivo, "Activo", "Inactivo")) ;
        Of oDlg Pixel

    Activate Dialog oDlg Centered
Return
Resultado esperado

lActivo comienza falso, el control lo actualiza y el botón lo consulta al confirmar.

04 · EJEMPLO PRÁCTICO

Reacción al cambio de estado

#Include "TOTVS.ch"

User Function ExCheckEvento()
    Local oDlg
    Local lEnviarEmail := .T.

    Define Dialog oDlg Title "Notificações" ;
        From 0, 0 To 160, 360 Pixel

    @ 20, 20 CheckBox lEnviarEmail ;
        Prompt "Enviar confirmação por e-mail" ;
        On Change AtualizarPreferencia(lEnviarEmail) ;
        Size 150, 15 Of oDlg Pixel

    Activate Dialog oDlg Centered
Return

Static Function AtualizarPreferencia(lEnviarEmail)
    ConOut("Enviar e-mail: " + IIf(lEnviarEmail, "Sim", "Não"))
Return
Resultado esperado

ON CHANGE envía el nuevo valor lógico a una función breve y específica.

BUENAS PRÁCTICAS
  • Incluye TOTVS.ch para que el compilador reconozca el comando.
  • Inicializa la variable lógica antes de crear el componente para definir su estado inicial.
  • Utiliza oCheckBox VAR solo cuando necesites propiedades o métodos después de la creación.
  • Utiliza ON CHANGE para reaccionar inmediatamente al marcar o desmarcar.
  • Utiliza VALID para controlar la salida y WHEN para controlar la entrada.
  • Prefiere OF para identificar explícitamente el contenedor propietario.
ERRORES COMUNES
  • La variable editada debe ser lógica; otro tipo puede causar un comportamiento incorrecto o un error.
  • Cuando se informa un objeto, omitir VAR invalida la declaración.
  • VALID y WHEN deben devolver valores lógicos.
  • Sin OF, el componente se asocia a la ventana o diálogo activo.
  • Mezclar coordenadas PIXEL con otra unidad puede colocar o dimensionar mal el control.
  • No coloques reglas de negocio extensas en el evento; delega en una función dedicada.

Contenido relacionado

REFERENCIAS
  1. TOTVS. @ ... CHECKBOX. TDN. Creado por Julio Wittwer; última modificación el 30 de mayo de 2019.
  2. TOTVS. TCheckBox:New — constructor utilizado por el comando. TDN.
  3. Guía de referencia de eADVPL. Sin autor identificado, creada el 28 de julio de 2005. Sección relacionada: p. 14–15. Referencia histórica; sintaxis verificada prioritariamente con una fuente actual.
Estado
Publicado
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR