Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 02-04-2012 09:33:53

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

[RESOLU] Gestion du close d'une fenêtre

Bonjour,

je cherche une idée pour gérer proprement la fermeture d'une fenêtre en limitant la duplication de code : je souhaite effectuer un traitement
- lorsque l'utilisateur ferme "activement" une fenêtre (par le menu, la barre d'outils ou le menu système)
- mais pas lorsque que PB ferme la fenêtre quand l'application se termine.

J'ai pensé ajouter une méthode spécifique pour appeler la fermeture de la fenêtre qui serait appelée depuis le menu ou la barre d'outils, mais cela ne peut pas fonctionner si l'utilisateur ferme la fenêtre avec la croix de la barre de titre. Et je souhaiterais conserver cette croix.

Il y a moyen de savoir dans l'évènement close() (ou autrement) qu'on a été appelé par le menu système ? Je ne retrouve pas d'info là-dessus...

Dernière modification par seki (02-04-2012 09:55:18)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#2 02-04-2012 09:47:46

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Gestion du close d'une fenêtre

Bonjour,

J'aurais créé par exemple un événement ue_closemenu... personnalisé avec le code nécessaire sur l'ancêtre de mes fenêtres par exemple que je déclenche pour fermer mes fenêtres à partir du menu, barre d'outils au lieu du traditionnel close.

Hors ligne

 

#3 02-04-2012 09:49:57

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Gestion du close d'une fenêtre

Bon, en posant la question je trouve une réponse : apparemment l'évèment CloseQuery() fonctionne comme cela : il n'est pas triggé par la méthode close() mais fonctionne en cas de fermeture "par l'utilisateur".

Et pour info (je ne m'en sers pas, mais pour ceux qui atterriraient ici après une recherche), pour savoir si on ferme via le menu système, il on peut le savoir en mappant un évènement sur pbm_syscommand : la fermeture c'est SC_CLOSE -> commandtype = 61536


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#4 02-04-2012 09:52:39

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Gestion du close d'une fenêtre

buck a écrit:

Bonjour,

J'aurais créé par exemple un événement ue_closemenu... personnalisé avec le code nécessaire sur l'ancêtre de mes fenêtres par exemple que je déclenche pour fermer mes fenêtres à partir du menu, barre d'outils au lieu du traditionnel close.

Oui, j'avais pensé une solution du genre, mais ce nouvel évènement ne serait pas déclenché par la fermeture du menu système. Et pour ne pas perturber l'utilisateur je voulais conserver une barre de titre classique pour une fenêtre type "palette d'outil" : pas de menu système, mais quand même une croix pour fermer.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22