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
  • 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.
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
WINDEVJavaCó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>.
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.
WINDEVJavaCó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).
WINDEVJavaCó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.
WINDEVJavaCó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.
WINDEVJavaCó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.
Java El código WLanguage que sigue a la llamada a ReturnToCapture no se ejecuta. Se reanuda la ejecución de los procesos:
WINDEVJavaCó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