AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Controles, páginas y ventanas / Funciones de controles
  • Obtención de foco
  • ScreenFirst, SetFocus y ReturnToCapture
  • Error
  • ReturnToCapture en una ventana
  • ReturnToCapture en una columna control Tabla
  • ReturnToCapture en la actual control
  • ReturnToCapture en el último control seleccionado
  • Procesos / Eventos ejecutados cuando se llama a ReturnToCapture
  • ReturnToCapture y FIN:
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Detiene el Process actual y fuerza la entrada en el control, ventana o página especificada.
WEBDEV - Código Navegador ReturnToCapture puede utilizarse en un navegador event( onchange, onclick, etc.), pero no puede utilizarse en un navegador local procedure o global procedure.
Observación: Esta función es equivalente a la función SetFocusAndReturnToUserInput.
Ejemplo
// If no value was entered by the user in the control
IF EDT_Edit1 = "" THEN
// Display a message and position the user in edit on the control
Error("Enter a value")
ReturnToCapture(EDT_Edit1)
END
WINDEVReportes y ConsultasJavaCódigo de Usuario (UMC)
// Position the mouse cursor in a cell of a Table control (multi-selection or not)
TABLE_Table_Name = Row_Index
ReturnToCapture(TABLE_Table_Name.COL_Column_Name)
Sintaxis
ReturnToCapture([<Element to use>])
<Element to use>: control, nombre de la ventana o de la página
Nombre de control, columna o ventana que obtendrá el foco (ver Notas). Si no se especifica este parámetro, la control actual gana protagonismo.
Para especificar una control que pertenezca a una ventana distinta de la actual, <Elemento a manipular> debe tener el siguiente formato: <Nombre de la ventana>.<Nombre de la control>.
WEBDEV - Código Navegador Nombre de la control o de la página que ganará protagonismo (ver Notas). Si no se especifica este parámetro, la última control actual gana el foco.
Android Nombre de la control o de la ventana que obtendrá el foco (ver Notas). Si no se especifica este parámetro, la control actual gana protagonismo.
Observaciones

Obtención de foco

Tomar el "enfoque" se representa de diferentes maneras:
  • Cursor intermitente (o "Caret") para los controles de edición.
  • Rectángulo de puntos para los otros tipos de controles (Botón, List Box, Botón de radio, etc.).

ScreenFirst, SetFocus y ReturnToCapture

Estas funciones tienen un comportamiento diferente:
  • ReturnToCapture detiene el process actual para forzar la entrada en el control especificado.
  • ScreenFirst define qué control recibirá el foco de entrada (cuando el código actual se detiene y el foco de entrada se set de nuevo a un control).
  • SetFocus detiene el process actual, define qué control recibirá el foco de entrada y reanuda el process actual.

Error

Se produce un error de WLanguage si <Elemento a manipular> no se corresponde con un control en la ventana o página actual.
WINDEVReportes y ConsultasAndroidJavaCódigo de Usuario (UMC)

ReturnToCapture en una ventana

Si <Elemento a manipular> corresponde al nombre de una ventana, ésta se convierte en Active. La control que obtendrá el foco en esta ventana corresponderá a:
  • la última control previamente en edición en esta ventana,
  • la primera control que puede obtener el foco en esta ventana (si no se han introducido datos previamente).
WINDEVReportes y ConsultasJavaCódigo de Usuario (UMC)

ReturnToCapture en una columna control Tabla

ReturnToCapture fija el foco en la columna especificada. Si la control Tabla no recibe ninguna entrada, se convierte en editable.
WINDEVReportes y ConsultasAndroidJavaCódigo de Usuario (UMC)

ReturnToCapture en la actual control

ReturnToCapture utilizado sin parámetros pone el foco en el control actual. Esta función, llamada en el código de salida de una edición de control, se utiliza para forzar la entrada en la control seleccionada si los datos introducidos y los esperados no coinciden.
WEBDEV - Código Navegador

ReturnToCapture en el último control seleccionado

ReturnToCapture utilizado sin parámetros pone el foco en el control actual. Esta función, llamada en el código de salida de una edición de control, se utiliza para forzar la entrada en la control seleccionada si los datos introducidos y los esperados no coinciden.
El control debe ser uno de los siguientes tipos de control s:
  • Control Campo de entrada.
  • Control Casilla de verificación.
  • Control Botón de opción.
  • Control List Box.
  • Control Combo Box.
  • "Zona de clicks" control Imagen.
Si el nombre de la control corresponde a una cadena que se construye, se debe utilizar el alias de la control ("control Alias"+Num por ejemplo). En este caso, no se realiza ninguna verificación.: Los errores de JavaScript pueden ocurrir si se enfoca un control que no existe.
Recordatorio: El alias de un control corresponde al nombre de este control en la página HTML. Para encontrar este alias:
  • en el editor de código, pulse Mayúsculas + F1.
  • mediante programación, utilice la propiedad Alias.
WINDEVReportes y ConsultasAndroidJavaCódigo de Usuario (UMC)

Procesos / Eventos ejecutados cuando se llama a ReturnToCapture

El código WLanguage que sigue a la llamada a ReturnToCapture no se ejecuta y se da control al usuario.
Casos especiales:
  • si se llama a ReturnToCapture en un código llamado por Ejecute, ExecuteCode o ExecuteProcess, se interrumpe el código llamado por Ejecute, ExecuteCode o ExecuteProcess. La ejecución se reanuda tras la llamada a Ejecute, ExecuteCode o ExecuteProcess.
  • si se llama a ReturnToCapture en el código de una función de una ventana distinta a la actual, el código de esta función se interrumpe y la ejecución se reanuda después de la llamada.
  • si se llama a ReturnToCapture en el código de un componente (procedure o método), el código se interrumpe y la ejecución se reanuda tras la llamada al procedure o método.
  • si se llama a ReturnToCapture en el código de un procedure de una ventana interna, el código se interrumpe y la ejecución se reanuda tras la llamada al procedure.
  • si se llama a ReturnToCapture en el código de una opción de menú, el código se interrumpe y la ejecución se reanuda tras la llamada a la opción.
  • si se llama a ReturnToCapture en una ventana procedure llamada desde un supercontrol, el código se interrumpe y la ejecución se reanuda tras la llamada al procedure.
  • si se llama a ReturnToCapture en el código de un procedure de un supercontrol o control modelo, el código se interrumpe y la ejecución se reanuda tras la llamada al procedure.
El actual Process está permanentemente interrumpido. Por ejemplo:
ReturnToCapture("Edit1")
Info("XXX")    // Is never run
En la mayoría de los casos, los eventos existentes (de la control o ventana actual) y los eventos de entrada (en la control o ventana especificada) se ejecutan al mismo tiempo que ReturnToCapture.
Excepciones:
  • No se ejecuta ningún código si <Elemento a manipular> es el control actual .
  • El código de salida de la control seleccionada no se ejecuta si se utiliza ReturnToCapture en uno de los eventos de esta control.
Para no interrumpir la Process, utilice ScreenFirst o SetFocus.
AndroidJava El código WLanguage que sigue a la llamada a ReturnToCapture no se ejecuta. Se reanuda la ejecución de los procesos:
WINDEVReportes y ConsultasAndroidJavaCódigo de Usuario (UMC)

ReturnToCapture y FIN:

Después de una llamada a ReturnToCapture, el código que sigue a la declaración "END:". no se ejecuta. ReturnToCapture puede sustituirse por la llamada a ScreenFirst seguida de RETURN.
Clasificación Lógica de negocio / UI: Código UI
Componente: wd290obj.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Exemplo Fechar Window
//Global
gn_fechando_manual is int=0

//Closing
IF gn_fechando_manual=0 THEN
IF YesNo("Deseja Fechar Nota Fiscal") THEN
ELSE
ReturnToCapture(EDT_cliente_cnpj_cpf_codigo)
END
END


//Botao Fechar
gn_fechando_manual=1
Close(WIN_GeraNotaFiscal)

//Blog com Video e Exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/03/windev21-curso-233-window-fechar-ou-nao.html
De matos AMARILDO
17 03 2016

Última modificación: 30/05/2022

Señalar un error o enviar una sugerencia | Ayuda local