FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Fermeture Form par la croix rouge Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Fermeture Form par la croix rouge Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Fermeture Form par la croix rouge Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Fermeture Form par la croix rouge Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Fermeture Form par la croix rouge Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Fermeture Form par la croix rouge Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Fermeture Form par la croix rouge Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Fermeture Form par la croix rouge Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Fermeture Form par la croix rouge Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Fermeture Form par la croix rouge Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Fermeture Form par la croix rouge Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Fermeture Form par la croix rouge Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Fermeture Form par la croix rouge Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Fermeture Form par la croix rouge Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Fermeture Form par la croix rouge Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Fermeture Form par la croix rouge

Aller en bas 
+2
silverman
Jean Claude
6 participants
AuteurMessage
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Fermeture Form par la croix rouge Empty
MessageSujet: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 9:12

Suite à un échange sur le sujet PanExpress, j'ouvre ce sujet pour permettre de ne pas polluer celui de Minibug.

Jack a écrit:
Le dysfonctionnement causé par un clic sur la croix rouge est un bug "congénital" de Panoramic.
Lorque j'ai voulu le corriger, on m'a demandé de ne pas le faire...

https://panoramic.1fr1.net/t4686-traducteur-anglais-franais#57294

https://panoramic.1fr1.net/t4714-version-instantane-du-20-mars-2016-panoramic-v-0-9-27i6#57296

Ma question: est-il possible d'avoir une commande qui permette les 2 options (avec ou sans le bug) ?

A+
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 13:04

Jette une oeil ici Razz
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 13:47

J'ai bien l'impression que l'on partage tous la même idée sur cette croix rouge.

C'est à dire de pouvoir faire marche arrière en cas de clic sur la croix de la fenêtre 0.

J'espère que Jack pourra faire le nécessaire...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 16:01

Essayez ces deux codes que j’ai déjà postés dans je ne sais plus où ! Embarassed

Code:

rem ============================================================================
rem       Désactiver / activer la croix X de fermeture d’un FORM
rem ============================================================================
Desactive_X(0)
end
rem ============================================================================
' Désactiver la croix de fermeture d'un FORM
' NumForm est le numéro du FORM dont on veut désactiver / activer la fermeture par la croix
SUB Desactive_X(NumForm)
    Dim_local hWnd  : ' handle de la fenêtre FORM NumForm
    dim_local hMenu : ' handle du menu système de la fenêtre en cours
    Dim_local result%, flag%
    dim_local SC_CLOSE : SC_CLOSE = hex("F060")
    dim_local tex$
    
    dll_on "user32"
    if object_exists(NumForm) = 0
       message "FORM " + str$(NumForm) + " n'existe pas !!!"
       exit_sub
    end_if
    hWnd = handle(NumForm) : ' handle du Form NumForm
    hmenu = dll_call2("GetSystemMenu",hWnd,0) : ' handle du menu système de la fenêtre en cours
    flag% = 1 : ' La croix est désactivée
    result% = dll_call3("EnableMenuItem",hMenu, SC_CLOSE, flag%)
    tex$ = "Vous ne pouvez pas fermer FORM " + str$(NumForm) + " par la croix"
    tex$ = tex$ + chr$(13) + "Essayez durant 5 secondes pour vous en convaincre." + chr$(13)
    message tex$
    pause 5000
    flag% = 0 : ' La croix est à nouveau activée
    result% = dll_call3("EnableMenuItem",hMenu, SC_CLOSE, flag%)
    message "Maintenant vous pouvez fermer FORM " + str$(NumForm) + " par la croix"
END_SUB
rem ============================================================================



Code:

rem ============================================================================
rem                DisableSystemMenu
rem ============================================================================
rem Désactiver les commandes système de la fenêtre se trouvant en haut à droite :
rem la croix de fermeture, le bouton Agrandir et le bouton Réduire
rem Désactiver le menu système qu’on obtient par un click sur le bouton en haut à gauche
rem Restaurer, Déplacer, Taille, Réduire, Agrandir, Fermer
rem ============================================================================
rem Permet de choisir précisément ce sur quoi on veut agir...
rem A la fin on rétablit tout
rem ============================================================================

DisableSystemMenu(0)

end
rem ============================================================================
SUB DisableSystemMenu(NumForm)
    dim_local MF_BYPOSITION : MF_BYPOSITION  = hex("400")
    Dim_local hWnd  : ' handle de la fenêtre FORM NumForm
    dim_local hMenu : ' handle du menu système de la fenêtre en cours
    dim_local ret%  : ' variable de retour
    dim_local tex$
    if object_exists(NumForm) = 0
       message "FORM " + str$(NumForm) + " n'existe pas !!!" : exit_sub
    end_if
    dll_on "user32"
    hWnd = handle(NumForm) : ' handle de la fenêtre FORM NumForm
' Essayez avec PANORAMIC EDITOR , ça marche aussi
    ' hWnd = handle_Form("PANORAMIC EDITOR")
    hmenu = dll_call2("GetSystemMenu",hWnd,0) : ' handle du menu système de la fenêtre en cours

' désactiver la croix de fermeture du FORM NumForm et la commande Fermeture du menu système
    ret% = dll_call3("DeleteMenu",hmenu,6,MF_BYPOSITION)
' supprimer le trait de séparation du menu système avant Fermeture
    ret% = dll_call3("DeleteMenu",hmenu,5,MF_BYPOSITION)
' supprimer la commande Agrandissement du menu système et la commande Agrandir de la fenêtre
    ret% = dll_call3("DeleteMenu",hmenu,4,MF_BYPOSITION)
' supprimer la commande Réduction du menu système et désactive la commande Réduire de la fenêtre
    ret% = dll_call3("DeleteMenu",hmenu,3,MF_BYPOSITION)
' désactiver la commande Déplacement du menu système
    ret% = dll_call3("DeleteMenu",hmenu,2,MF_BYPOSITION)
' supprimer la commande Déplacement du menu système et désactive la commande Dimension
    ret% = dll_call3("DeleteMenu",hmenu,1,MF_BYPOSITION)
' supprimer la commande Restauration du menu système et désactive la commande Restaurer de la fenêtre
    ret% = dll_call3("DeleteMenu",hmenu,0,MF_BYPOSITION)
' ------------------------------------------------------------------------------
    tex$ = "Après la validation de ce message," + chr$(13)
    tex$ = tex$ + "Vous ne pouvez ni fermer, ni réduire, ni agrandir, ni déplacer la fenêtre !!!"
    tex$ = tex$ + chr$(13) + "Essayez durant 5 secondes pour vous en convaincre." + chr$(13)
    message tex$
    pause 5000
' rétablir le menu sytème et les commandes de fenêtre (Réduire, Agrandir, Fermer)
    ret% = dll_call2("GetSystemMenu",hWnd,1)
    
    tex$ = "Tout est rétabli à présent."+ chr$(13)
    tex$ = tex$ + "Vous pouvez réduire, agrandir,fermer, déplacer votre FORM" + chr$(13)
    tex$ = tex$ + "Vous pouvez également afficher le menu système de votre FORM" + chr$(13)
    tex$ = tex$ + "en cliquant sur le bouton en haut à gauche de la barre du titre"
    message tex$

END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 17:09

Oui Papydall, ta solution est bonne,
Mais les Panoramiciens qui codent un éditeur, sans utilisation d'une DLL (pour respecter le cahier des charges de Jack) n'ont pas de solution en pur Panoramic.

@Silverman,
Oups ! j'avais lu ton sujet "MESSAGE_EXIT_APPLICATION...", mais je l'ai oublié. Embarassed

A+
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 19:26

Minibug a écrit:
J'ai bien l'impression que l'on partage tous la même idée sur cette croix rouge.
C'est à dire de pouvoir faire marche arrière en cas de clic sur la croix de la fenêtre 0.
J'espère que Jack pourra faire le nécessaire...

Je suis en train de coder 2 commandes :
CLOSE_INACTIVE qui inhibe la destruction de FORM0 quand on clique sur la croix rouge (un click sur la croix rouge ne fait rien),
CLOSE_ACTIVE qui est le retour à l'état par défaut pour annuler l'effet de CLOSE_INACTIVE: un clic sur la croix rouge ferme FORM0 définitivement.

_________________
Fermeture Form par la croix rouge Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Fermeture Form par la croix rouge Empty
MessageSujet: +++   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 19:36

Oui, super !
cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 19:41

Merci pour ta réactivité Jack !

Je pense que cette formule est la bonne.
Elle laissera à chacun la possibilité de coder le ON_CLOSE selon ses besoins.

Encore merci ! Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 20:14

Voilà une bonne solution.

Tout le monde sera satisfait....

Merci Jack.

A+
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 20:17

C'est une excellente nouvelle jack! Very Happy
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 20:27

Minibug a écrit:
Je pense que cette formule est la bonne.
Elle laissera à chacun la possibilité de coder le ON_CLOSE selon ses besoins.

Juste une précision:

Jack a écrit:
CLOSE_INACTIVE qui inhibe la destruction de FORM0 quand on clique sur la croix rouge (un click sur la croix rouge ne fait rien),

Dans ce cas ON_CLOSE ne sert plus....
Il semble que ces 2 nouvelles commandes ne seront active que pout FORM 0.

C'est tout de même une amélioration, on verra à l'utilisation.

A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge EmptyMer 7 Nov 2018 - 20:38

Jean Claude a écrit:
Dans ce cas ON_CLOSE ne sert plus....

Tout dépend de la façon dont Jack va coder CLOSE_INACTIVE.
Il faudrait que dans les 2 cas CLOSE_ACTIVE et CLOSE_INACTIVE il y est un accès au sous programme déclenché par ON_CLOSE.

Ce qui permettrait dans les 2 cas un accès au sous-programme. Enfin c'est ma vision des choses...
Avec CLOSE_ACTIVE il y aurait un traitement du sous-programme puis un arrêt obligatoire du programme.
Alors qu'avec CLOSE_INACTIVE, il n'y aurait qu'un traitement du sous-programme.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Fermeture Form par la croix rouge Empty
MessageSujet: Re: Fermeture Form par la croix rouge   Fermeture Form par la croix rouge Empty

Revenir en haut Aller en bas
 
Fermeture Form par la croix rouge
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
»  Désactiver / activer la croix X de fermeture d'un FORM et +
» NO_CLOSE N pour choisir d'annuler la fermeture d'un form
» désactiver la croix de fermeture d'une fenêtre
» Fermeture de FORM
» Fermeture d'un form N

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: