DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Fenêtres manipulables par l'utilisateur final
  • Exemple d'utilisation
  • Erreur
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Déclare comment annuler une action ajoutée avec la fonction FenEdDo. Cette fonction est liée à la fonctionnalité "Modification de l'interface par l'utilisateur final".
Cette fonction est notamment utilisée dans le cas de la création d'un éditeur par programmation (voir "Remarques").
Exemple
FenEdDo(FEN_MonEditeur, ProcCréeLib, "Nouveau")
PROCÉDURE INTERNE ProcCréeLib(sLib)
pNouveau est un Champ
pNouveau <- ChampCrée("LIB_" + DonneIdentifiant(), typTexte, 150, 150, 80, 20)
pNouveau.Libellé = sLib
FenEdDéclareUndo(ProcAnnuler)
PROCÉDURE INTERNE ProcAnnuler()
ChampSupprime(pNouveau)
FIN
FIN
FenEdDéclareUndo(AnnulerOperation, CLIENT.IDClient)
 
// Gestion du Undo
PROCÉDURE INTERNE AnnulerOperation(nIDClient)
SI HLitRecherchePremier(CLIENT, IDClient, nIDClient) ALORS
   SourceVersEcran()
FIN
Syntaxe
FenEdDéclareUndo(<Procédure WLangage> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Procédure WLangage> : Nom de procédure
Nom d'une procédure WLangage à exécuter. Le code de cette procédure doit permettre d'annuler l'action créée avec la fonction FenEdDo.
L'utilisation d'une procédure interne permet un accès direct aux variables locales.
<Paramètre 1> : Type quelconque optionnel
Premier paramètre optionnel à passer à la procédure.
Ces paramètres sont généralement des valeurs permettant de rétablir l'état précédent.
<Paramètre N> : Type quelconque optionnel
Nième paramètre optionnel à passer à la procédure.
Ces paramètres sont généralement des valeurs permettant de rétablir l'état précédent.
Remarques

Exemple d'utilisation

La fonction FenEdDo permet de créer des actions personnalisées (par exemple la création d'un champ) qui supportent le undo/redo.
Prenons un exemple simple : la création d'un éditeur d'objets graphiques.
Un bouton permet de créer une forme. L'utilisateur doit pouvoir annuler la création de la forme. Les opérations effectuées sont les suivantes :
  • Passage de la fenêtre en mode modification de l'interface (fonction FenEdActive).
  • Appel de la fonction FenEdDo. La procédure appelée par cette fonction permet de créer la forme. Cette procédure contient également l'appel à la fonction FenEdDéclareUndo. Cette fonction FenEdDéclareUndo permet de définir le comportement en cas d'annulation par l'utilisateur.
  • Passage de la fenêtre en mode normal (fonction FenEdActive).
L'utilisateur final peut alors annuler cette action (Ctrl + Z ou fonction FenEdUndo) : la procédure <Procédure WLangage> sera alors appelée.

Erreur

Si la fonction FenEdDéclareUndo est appelée en dehors d'une procédure ajoutée avec la fonction FenEdDo, une erreur WLangage est affichée.
Liste des exemples associés :
WD Objets Graphiques Exemples didactiques (WINDEV) : WD Objets Graphiques
[ + ] Cet exemple didactique illustre la puissance du WLangage en matière de programmation orientée objet.
Cet exemple est un éditeur d'objets graphiques.

Il est possible de :
- déplacer, redimensionner les objets
- effectuer des sélections au lasso ou à la souris
- couper/copier/coller des objets
- supprimer/dupliquer des objets
- enregistrer les documents créés et de les imprimer.

Les principales fonctionnalités techniques présentées et documentées sont les suivantes :
- gestion d'un presse-papiers d'objets
- gestion du UNDO/REDO
- sérialisation et désérialisation d'objets
- algorithmes de gestion d'objets graphiques (redimensionnements proportionnels, gestion de règles de déplacement, etc...)
Composante : wd290obj.dll
Version minimum requise
  • Version 21
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale