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
» 2D_fill_color
Fermeture Form par la croix rouge Emptypar papydall Aujourd'hui à 14:47

» Consommation gaz électricité
Fermeture Form par la croix rouge Emptypar leclode Mer 17 Avr 2024 - 11:07

» trop de fichiers en cours
Fermeture Form par la croix rouge Emptypar lepetitmarocain Mer 17 Avr 2024 - 10:19

» on_key_down (résolu)
Fermeture Form par la croix rouge Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Fermeture Form par la croix rouge Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
Fermeture Form par la croix rouge Emptypar jjn4 Mer 3 Avr 2024 - 14:08

» Minimiser une fenêtre Panoramic.
Fermeture Form par la croix rouge Emptypar Pedro Mar 2 Avr 2024 - 13:50

» Récapitulatif ludothèque panoramic jjn4
Fermeture Form par la croix rouge Emptypar jjn4 Lun 1 Avr 2024 - 18:04

» demande explication KGF pour imprimer en mm
Fermeture Form par la croix rouge Emptypar JL35 Jeu 28 Mar 2024 - 17:28

» Petit passage furtif
Fermeture Form par la croix rouge Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
Fermeture Form par la croix rouge Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
Fermeture Form par la croix rouge Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
Fermeture Form par la croix rouge Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
Fermeture Form par la croix rouge Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
Fermeture Form par la croix rouge Emptypar Klaus Dim 3 Mar 2024 - 9:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le deal à ne pas rater :
Disque dur SSD CRUCIAL P3 1 To (3D NAND NVMe PCIe M.2)
65.91 €
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 : 5948
Age : 69
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 : 968
Age : 51
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 : 4566
Age : 57
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 : 6990
Age : 73
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/ En ligne
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
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 : 2381
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 : 2684
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 : 4566
Age : 57
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 : 5948
Age : 69
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 : 968
Age : 51
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 : 5948
Age : 69
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 : 4566
Age : 57
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 d'un form N
» Fermeture de FORM

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: