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
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Gestión de acciones con Deshacer/Rehacer
Presentación
WINDEV le permite gestionar fácilmente la función Deshacer/Rehacer 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 gestionar la función Deshacer/Rehacer en sus aplicaciones WINDEV:
  1. Declarar las acciones a guardar en el apilamiento de acciones realizadas por ActionDo. Esta función espera como parámetro el nombre del procedimiento que corresponde a la acción. Este procedimiento puede ser local, global o interno.
  2. En el código del procedimiento correspondiente a la acción a realizar, utilice ActionDeclareUndo para definir el código que se ejecutará para cancelar la acción. Esta función espera como parámetro el nombre del procedimiento a ejecutar. 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 para cancelar 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 MISMA.
  • En el menú contextual de un control, la opción "Cancelar" propuesta por defecto no tiene el mismo efecto que ActionUndo o Ctrl + Z.

Ejemplo

El siguiente ejemplo se utiliza para modificar el color de fondo de dos controles de edición. Esta acción puede deshacerse pulsando Ctrl + Z:
ActionDo(FEN_ACTION, Colorie)

	INTERNAL PROCEDURE Colorie
		SAI_Nom.CouleurFond = PastelGreen
		SAI_Prénom.CouleurFond = PastelRed

		ActionDeclareUndo(RetourArriere)
			INTERNAL PROCEDURE RetourArriere
				SAI_Nom.CouleurFond = DefaultColor
				SAI_Prénom.CouleurFond = DefaultColor
			END
	END
Para que el usuario pueda deshacer varias acciones, basta con llamar varias veces a ActionDo con procedimientos diferentes. Por ejemplo:
ActionDo(FEN_ACTION, Colorie)
ActionDo(FEN_ACTION, MemoriseValeur)

	INTERNAL PROCEDURE Colorie
		SAI_Nom.CouleurFond = PastelGreen
		SAI_Prénom.CouleurFond = PastelRed

		ActionDeclareUndo(RetourArriere)
		INTERNAL PROCEDURE RetourArriere
			SAI_Nom.CouleurFond = DefaultColor
			SAI_Prénom.CouleurFond = DefaultColor
		END
	END

	INTERNAL PROCEDURE MemoriseValeur()
		SAI_Nom.Note = SAI_Nom
		SAI_Prénom.Note = SAI_Prénom

		ActionDeclareUndo(RetourArriere)
		INTERNAL PROCEDURE RetourArriere
			SAI_Nom = SAI_Nom.Note
			SAI_Prénom = SAI_Prénom.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
Para gestionar las acciones se utilizan las siguientes funciones de WLanguage:
ActionDeclareUndoDeclares how to cancel an action that was added by ActionDo. This function MUST be called when running the procedure supplied to ActionDo.
ActionDoCreates and runs a custom action (defined through programming) with support of "Undo/Redo".
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: 02/04/2025

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