Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (306xshdi)

dimanche 20 février 2005 à 18:52:00 | Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

306xshdi

Bonsoir,
C'est URGENT car je voudrais finir mon appli mais je perds la tête. J'ai fait une appli sympa et je voudrais désactiver le bouton FERMER d'une FORM. Malheureusement, je n'arrive pas à la trouver et je deviens fou. J'ai trouvé pour le bouton MIN et MAX mais pas FERMER (la croix) et pourtant, je l'ai déjà fait.
A l'aide SVP !!!!
A+

dimanche 20 février 2005 à 19:02:21 | Re : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

Gobillot

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then
       Cancel = True
       Else
       CmdSauve
       End If
End Sub


Daniel

dimanche 20 février 2005 à 20:31:37 | Re : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Ca c'est pour empêcher de la fermer, pas le désactiver ! Pour le désactiver, il faut passer par les API Windows : récupèrer le handle du menu système, puis supprimer le menu fermer.

DarK Sidious

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

dimanche 20 février 2005 à 21:41:41 | Re : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

casy

Membre Club

Si c'est pas dérangeant tu peux le supprimer en cachant la barre de titre , borderstyle = none je crois



Si le cerveau était assez simple pour que nous puissions le comprendre,
nous serions assez bête pour ne pas le comprendre malgré tout.


lundi 21 février 2005 à 14:34:22 | Re : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

Cracker

Ou alors, il suffit de mettre la propriété ControlBox = False dans la form !!
Celà enleve les 3 boutons (Fermer, Minimiser, Maximiser)

DarkSpirit

Chef du projet CDD, www.chroniquedesdamnes.fr.st

lundi 21 février 2005 à 16:41:09 | Re : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

306xshdi

Merci pour vos réponses. J'avais besoin du bouton "minimiser" dans la solution avec ControlBox=False ne m'allait pas. Donc je suis passé par l'API suivante:

Dans un module standard:

'*****************************************
' Dans la partie déclaration du formulaire
'*****************************************
Private Const MF_BYPOSITION = &H400&

'Cette fonction API sert à prendre le menu qui apparaît lors du clic en haut à gauche du form (sous-menus "Restaurer", "Déplacer", "Réduire", "Fermer", ...)
Private Declare Function GetSystemMenu _
     Lib "user32" _
     (ByVal hwnd As Long, _
     ByVal bRevert As Long) As Long

'Cette fonction API sert à enlever un de ces sous-menus
Private Declare Function RemoveMenu _
     Lib "user32" (ByVal hMenu As Long, _
     ByVal nPosition As Long, _
     ByVal wFlags As Long) As Long

'Cette fonction API sert à connaître le nombre de sous-menus dans ce même menu
Private Declare Function GetMenuItemCount _
     Lib "user32" _
     (ByVal hMenu As Long) As Long


'*******************************************
' Dans la partie programmation du formulaire
'*******************************************
Public Sub DesactiverX(f_hwnd As Long)

Dim lSysMenu As Long
Dim lItemCount As Long
Dim lRet As Long

'Prend l'ID du menu
lSysMenu = GetSystemMenu(f_hwnd, False)

'Prend le nombre d'objet (sous-menus) du menu
lItemCount = GetMenuItemCount(lSysMenu)

'Suppression de sous-menu
lRet = RemoveMenu(lSysMenu, lItemCount - 1, MF_BYPOSITION)
lRet = RemoveMenu(lSysMenu, lItemCount - 2, MF_BYPOSITION)
lRet = RemoveMenu(lSysMenu, lItemCount - 3, MF_BYPOSITION)
lRet = RemoveMenu(lSysMenu, lItemCount - 4, MF_BYPOSITION)

End Sub


Ensuite, dans form_load, ajouter:

DesactiverX Form1.hwnd  'avec Form1 le nom de la form où la croix doit être désactivée


mardi 22 février 2005 à 08:34:14 | Re : Je perds la tête. Impossible de désactiver le bouton "fermer" d'une FORM

306xshdi

Réponse acceptée !

Encore plus simple. Merci à son auteur !

Comment désactiver le bouton de fermeture sur une form ?

auteur : Jean-Marc Rabilloud

Placez tout d'abord ces déclarations dans le module de la form :

 

Private Const SC_CLOSE = &HF060&
Private Const MF_BYCOMMAND = &H0&
 
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _
    ByVal wFlags As Long) As Long

Puis ces quelques lignes dans la procédure Form_Load :

 

Dim hSysMenu As Long
hSysMenu = GetSystemMenu(Me.hwnd, False)
RemoveMenu hSysMenu, SC_CLOSE, MF_BYCOMMAND




Cette discussion est classé dans : bouton, tête, fermer, désactiver, perds


Répondre à ce message

Sujets en rapport avec ce message

Activer/Désactiver un Bouton [ par Beavis ] Salut, Je cherche comment activer un bouton dès que j'écris une lettre dans un text box !C'est probablement très simple, mais je ne trouve pas...J'att Comment faire pour modifier le comportement du bouton fermer ? [ par Craps ] Voila j'aimerai savoir comment faire pour lorsque l'on clik sur la croix (en haut à droite si je m'exprime mal) on lance une fonction, genre le clik d Paramètrer le bouton fermer d'une fenètre... [ par wbartw ] ...vous savez, la fameuse croix en haut à droite...En fait j'aimerais permettre à l'utilisateur de sauvegarder son travail, et si ce n'est pas fait, l bouton fermer d un form X [ par pcpunch ] qd je clique sur le bouton de la fenetre femer, le form se hide mais ne se ferme pas.il est ouvert en fond mais pas fermer comment faire fermer une forme sous VB6 [ par lionel55 ] salut à tous,j'ai fait un form sous VB6 et j'ai créer un bouton et j'aimerais que lorsque je clique sur ce bouton cela ferme ma form mais quel code me Bouton Fermer VBA Access [ par ElMagnifico ] Bonjour à tous.J'ai un seul formulaire (le principal) ou le bouton fermer est activé. Je voudrais que ce bouton ferme toute la BD Access lorsque l'uti Comment faire pour ouvrir et fermer un cdrom sur un meme boutton [ par DebvbJ ] Slt !Je voudrais savoir comment fait on pour ouvrir et fermer le cdrom sur un même bouton ?Ex : Je clique une fois sur le bouton et le cdrom s'ouvre, bouton fermer dans Access [ par antipateik ] > Dans Access, comment faire pour supprimer à l'affichage la barre de menu d'Access par défaut et désactiver la fermeture par la croix au dessu à droi desactiver bouton fermer [ par T103 ] comment desactiver le bouton fermer en haut a droite d une formmerci Comment fermer une form modal sans form.Hide associé à un bouton ? [ par jamey ] Bonjour,J'ai une form principale où je sélectionne par des commands l'ouverture d'autres forms que je quitte avec ''form.hide'' derrière un bouton.Mon


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,649 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.