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 acción
  • Presentación
  • ¿Cómo proceder?
  • Ejemplo
  • Funciones WLanguage
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
Gestión de acciones con Deshacer/Rehacer
Presentación
WINDEV le permite manejar fácilmente la función Deshacer/Reiniciar en sus aplicaciones con las funciones ActionXXX. Para ello, el usuario puede pulsar Ctrl + Z y Ctrl + Y para deshacer o rehacer fácilmente una acción..
¿Cómo proceder?
Para administrar la función Deshacer/Rehacer en sus aplicaciones WINDEV:
  1. Declarar las acciones a guardar en la pila de acciones realizadas por ActionDo. Esta función espera como parámetro el nombre de la Procedure que corresponde a la acción. Este procedimiento puede ser local, global o interno.
  2. En el código de la Procedure correspondiente a la acción a realizar, utilice ActionDeclareUndo para definir el código que se ejecutará para Cancel la acción. Esta función espera como parámetro que el nombre de la Procedure se ejecute. Este procedimiento puede ser local, global o interno.
  3. Utilice las siguientes funciones si es necesario:
    • ActionRedo para ejecutar la última acción cancelada.
    • ActionUndo a Cancel la última acción realizada.
Observaciones:
  • No se pueden apilar varias veces las MISMAS acciones definidas por ActionDo. Cada acción solicitada por ActionDo borra la acción idéntica anterior. Por lo tanto, sólo se puede cancelar la última acción SAME.
  • En el menú contextual de un control, la opción "Cancel" propuesta por Default no tiene el mismo efecto que ActionUndo o Ctrl + Z.

Ejemplo

El siguiente ejemplo sirve para modificar el fondo color de dos controles de edición. Esta acción se puede deshacer con Ctrl + Z:
ActionDo(WIN_ACTION, Color)
 
INTERNAL PROCEDURE Color
EDT_LastName.BackgroundColor = PastelGreen
EDT_FirstName.BackgroundColor = PastelRed
 
ActionDeclareUndo(GoBack)
INTERNAL PROCEDURE GoBack
EDT_LastName.BackgroundColor = DefaultColor
EDT_FirstName.BackgroundColor = DefaultColor
END
END
Para permitir al usuario deshacer varias acciones, basta con llamar a ActionDo varias veces con diferentes procedimientos. Por ejemplo:
ActionDo(WIN_ACTION, Color)
ActionDo(WIN_ACTION, StoreValue)
 
INTERNAL PROCEDURE Color
EDT_LastName.BackgroundColor = PastelGreen
EDT_FirstName.BackgroundColor = PastelRed
 
ActionDeclareUndo(GoBack)
INTERNAL PROCEDURE GoBack
EDT_LastName.BackgroundColor = DefaultColor
EDT_FirstName.BackgroundColor = DefaultColor
END
END
 
INTERNAL PROCEDURE StoreValue()
EDT_LastName.Note = EDT_LastName
EDT_FirstName.Note = EDT_FirstName
 
ActionDeclareUndo(GoBack)
INTERNAL PROCEDURE GoBack
EDT_LastName = EDT_LastName.Note
EDT_FirstName = EDT_FirstName.Note
END
END
En este ejemplo, el primer Ctrl + Z deshará el almacenamiento de valores y el segundo deshará la coloración de los controles.
Funciones WLanguage
Las siguientes funciones de WLanguage se utilizan para gestionar las acciones:
ActionDeclareUndoDeclara cómo Cancel una acción que fue añadida por ActionDo. Esta función MUST debe ser llamada cuando se ejecuta el Procedure suministrado a ActionDo.
ActionDoCrea y ejecuta una acción personalizada (definida mediante programación) con soporte de "Deshacer/Rehacer".
ActionRedoEjecuta la última acción cancelada.
ActionUndoCancela la última acción realizada por el usuario final.
Ver también
Versión mínima requerida
  • Versión 22
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/01/2023

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