Désactiver la croix en haut à droite

Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005 - 6 juin 2005 à 10:42
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 6 juin 2005 à 13:43
bonjour à tous!

j'aimerais désactiver la croix en haut à droite de tous mes formulaires, sous VB editor, comment dois-je faire?

ou alors, est-ce possible de déclencher un événement (style afficher le form précédent, si on est dans un menu en cascade de form) lorsque l'on clique sur la croix?

merci de votre aide!

Daydayerement Vôtre

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 juin 2005 à 11:23
Il faut simplement supprimer le menu système SC_CLOSE :



Dans la partie déclaration d'un module :



'fonction permettant de récupèrer un handle sur le menu système

Private Declare Function GetSystemMenu Lib "user32" ( _

ByVal hwnd As Long, _

ByVal bRevert As Long) As Long



'fonction permettant de supprimer un menu

Private Declare Function DeleteMenu Lib "user32" ( _

ByVal hMenu As Long, _

ByVal nPosition As Long, _

ByVal wFlags As Long) As Long



'déclaration des constantes privées à l'objet

Private Const MF_BYCOMMAND = &H0 'permet de trouver un menu

Private Const SC_CLOSE = &HF060 'menu de fermeture



Public Sub DisabledCloseButton(ByVal lHWndForm As Long)



'======================================================================

'Sub : DisabledCloseButton

'Date : 26/01/2005

'Auteur : DarK Sidious

'But : Permet de désactiver le bouton fermer de la feuille spécifiée

'======================================================================



'déclaration des variables privées

Dim lMenu As Long 'stocke le handle du menu système



'on supprime le menu fermer du menu système pour
désactiver la fermeture de la feuille par les moyens classiques

Let lMenu = GetSystemMenu(lHWndForm, 0)

Call DeleteMenu(lMenu, SC_CLOSE, MF_BYCOMMAND)



End Sub



Ensuite, pour l'appliquer à une feuille :

Call DisabledCloseButton(Form1.hWnd)

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
6 juin 2005 à 11:51
salut, l'evenement Queryunload fonctionne très bien

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 juin 2005 à 11:55
Oui mais cela ne te désactive pas le bouton...

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
6 juin 2005 à 12:11
bien sur mais il voulait eventuellement avoir la possibilité de prendre la form précédente.

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005
6 juin 2005 à 12:57
merci de vos réponses. mais pour faire plus simple, je veux simplement désactiver la croix et ne pas avoir la possibilité de récupérer le form... juste un truc pour désactiver. ça existe en simple?

merki!

Daydayerement Vôtre
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
6 juin 2005 à 13:01
- Désactiver c'est la méthode de Dark

- Invalider c'est :
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = True
End Sub

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 juin 2005 à 13:43
Oui pour désactiver, utilise mon code, tu verra, tu n'a rien à faire,
juste copier/coller le code dans un module, et appeller la fonction
comme je l'ai dit.



Sinon, pour liquide : lorsque tu utilise le QueryUnload, il faut faire
attention au UnloadMode : si tu n'en tiens pas compte, mais si tu veux
fermer la feuille par le code, ca ne marchera jamais ! Le plus simple
reste de faire :



If UnloadMode = 0 Then



Cancel = True



End if



comme ca, ca ne désactive la fermeture de la fenêtre que lorsque
l'utilisateur clique sur le bouton de fermeture, mais le Unload(Form1)
marche toujours ;)

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
Rejoignez-nous