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
» PANORAMIC V 1
Fermeture Form par la croix rouge Emptypar Marc Aujourd'hui à 19:51

» Gestion d'un système client-serveur.
Fermeture Form par la croix rouge Emptypar Klaus Aujourd'hui à 16:52

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Fermeture Form par la croix rouge Emptypar Froggy One Aujourd'hui à 11:16

» @Jack
Fermeture Form par la croix rouge Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Fermeture Form par la croix rouge Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Fermeture Form par la croix rouge Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Fermeture Form par la croix rouge Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Fermeture Form par la croix rouge Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Fermeture Form par la croix rouge Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Fermeture Form par la croix rouge Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Fermeture Form par la croix rouge Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Fermeture Form par la croix rouge Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Fermeture Form par la croix rouge Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Fermeture Form par la croix rouge Emptypar leclode Sam 20 Avr 2024 - 8:32

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

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.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 : 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 : 7000
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/
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 : 2386
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 : 2692
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 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: