Aide VB, fermer l'application ...
Résolu/Fermé
alexmilano
Messages postés
423
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
30 novembre 2017
-
15 nov. 2007 à 11:54
bizare - 23 févr. 2012 à 17:39
bizare - 23 févr. 2012 à 17:39
A voir également:
- Aide VB, fermer l'application ...
- Application mobile - Guide
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Application gps sans internet - Guide
- Desinstaller application windows - Guide
5 réponses
-Shadow-
Messages postés
2149
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
17 juin 2023
269
31 déc. 2009 à 17:24
31 déc. 2009 à 17:24
Re,
Topique vieux de 2 siècles, mais vu qu'il a une certaine "audience" sur Google.fr autant que je poste :-)
Public Sub Me_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing e.Cancel = True 'annuler égale vrai. End Sub
Topique vieux de 2 siècles, mais vu qu'il a une certaine "audience" sur Google.fr autant que je poste :-)
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
25 nov. 2007 à 12:55
25 nov. 2007 à 12:55
1 ere solution:
_ Un form sans croix de fermeture: Borderstyle=0-none dans proprietes
2 eme solution:
_ Les APIs de Windows pour invalider la croix de fermeture
ATTENTION DE NE PAS OUBLIER DE METTRE UN BOUTON DE FERMETURE.......!
Form1
Private Sub Form_Activate()
'Fenêtre gérée
Call MForme(Me, 6) ' invalide la croix de fermeture
End Sub
----------------------------- Module1 --------------------------------------------
Option Explicit
'************************************************
'Fonctions disponibles
'x = MForme(nom de la FORM, type de fonctionnalité)
'Exemple : x = Fenetre(Form1, 6)
'************************************************
'Codes de contrôles
Const SC_MAXIMIZE = &HF030
Const SC_MINIMIZE = &HF020
Const SC_MOVE = &HF010
Const SC_RESTORE = &HF120
Const SC_SIZE = &HF000
Const SC_CLOSE = &HF060
'Constante
Const MF_BYCOMMAND = 0
'API de gestion des fenêtres
Private Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Function MForme(Forme As Form, Bouton As Integer)
'Gestion de fenêtrage
'Remplacer SC_MAXIMIZE par une des valeurs ci-dessous
'SC_MAXIMIZE : invalide l'aggrandissement de la feuillle
'SC_MINIMIZE : invalide la réduction de la feuille
'SC_MOVE : invalide le déplacement de la feuille
'SC_RESTORE : invalide la restauration de la feuille
'SC_SIZE : invalide le redimensionnement de la feuille
'SC_CLOSE : invalide la fermeture de la feuille
'Initialisation
Dim hMenu As Long
'Gestion de la fenêtre
hMenu = GetSystemMenu(Forme.Hwnd, 0) 'Récupère le handle du menu système de la feuille
If Bouton = 1 Then Call DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND) 'marche pas
If Bouton = 2 Then Call DeleteMenu(hMenu, SC_MINIMIZE, MF_BYCOMMAND) 'marche pas
If Bouton = 3 Then Call DeleteMenu(hMenu, SC_MOVE, MF_BYCOMMAND) 'Ok ca marche
If Bouton = 4 Then Call DeleteMenu(hMenu, SC_RESTORE, MF_BYCOMMAND) 'marche pas
If Bouton = 5 Then Call DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND) 'marche pas
If Bouton = 6 Then Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND) 'Ok ca marche
End Function
--------------------------------------------------------------------------
3 eme solution:
_ Supprimer la croix de fermeture: c'est faisable, mais pour le moment je ne sais plus comment. Donc je vais chercher
pour répondre entièrement a la question
_ Un form sans croix de fermeture: Borderstyle=0-none dans proprietes
2 eme solution:
_ Les APIs de Windows pour invalider la croix de fermeture
ATTENTION DE NE PAS OUBLIER DE METTRE UN BOUTON DE FERMETURE.......!
Form1
Private Sub Form_Activate()
'Fenêtre gérée
Call MForme(Me, 6) ' invalide la croix de fermeture
End Sub
----------------------------- Module1 --------------------------------------------
Option Explicit
'************************************************
'Fonctions disponibles
'x = MForme(nom de la FORM, type de fonctionnalité)
'Exemple : x = Fenetre(Form1, 6)
'************************************************
'Codes de contrôles
Const SC_MAXIMIZE = &HF030
Const SC_MINIMIZE = &HF020
Const SC_MOVE = &HF010
Const SC_RESTORE = &HF120
Const SC_SIZE = &HF000
Const SC_CLOSE = &HF060
'Constante
Const MF_BYCOMMAND = 0
'API de gestion des fenêtres
Private Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Function MForme(Forme As Form, Bouton As Integer)
'Gestion de fenêtrage
'Remplacer SC_MAXIMIZE par une des valeurs ci-dessous
'SC_MAXIMIZE : invalide l'aggrandissement de la feuillle
'SC_MINIMIZE : invalide la réduction de la feuille
'SC_MOVE : invalide le déplacement de la feuille
'SC_RESTORE : invalide la restauration de la feuille
'SC_SIZE : invalide le redimensionnement de la feuille
'SC_CLOSE : invalide la fermeture de la feuille
'Initialisation
Dim hMenu As Long
'Gestion de la fenêtre
hMenu = GetSystemMenu(Forme.Hwnd, 0) 'Récupère le handle du menu système de la feuille
If Bouton = 1 Then Call DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND) 'marche pas
If Bouton = 2 Then Call DeleteMenu(hMenu, SC_MINIMIZE, MF_BYCOMMAND) 'marche pas
If Bouton = 3 Then Call DeleteMenu(hMenu, SC_MOVE, MF_BYCOMMAND) 'Ok ca marche
If Bouton = 4 Then Call DeleteMenu(hMenu, SC_RESTORE, MF_BYCOMMAND) 'marche pas
If Bouton = 5 Then Call DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND) 'marche pas
If Bouton = 6 Then Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND) 'Ok ca marche
End Function
--------------------------------------------------------------------------
3 eme solution:
_ Supprimer la croix de fermeture: c'est faisable, mais pour le moment je ne sais plus comment. Donc je vais chercher
pour répondre entièrement a la question
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
28 nov. 2007 à 18:10
28 nov. 2007 à 18:10
Bonjour, j'ai retrouve la facon de supprimer la croix de fermeture d'un form en Visual Basic.
dans les proprites du form mettre ControlBox a false. Par contre cela enleve aussi les autres Boutons. Ensuite en fonction de ce que vous attendez de votre form, il faudra parametrer la propriete BorderStyle de 1 a 5 et MaxButton
dans les proprites du form mettre ControlBox a false. Par contre cela enleve aussi les autres Boutons. Ensuite en fonction de ce que vous attendez de votre form, il faudra parametrer la propriete BorderStyle de 1 a 5 et MaxButton
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
28 nov. 2007 à 18:11
28 nov. 2007 à 18:11
Bonjour, j'ai retrouve la facon de supprimer la croix de fermeture d'un form en Visual Basic.
Dans les proprites du form mettre ControlBox a false. Par contre cela enleve aussi les autres Boutons. Ensuite en fonction de ce que vous attendez de votre form, il faudra parametrer la propriete BorderStyle de 1 a 5 et MaxButton
Dans les proprites du form mettre ControlBox a false. Par contre cela enleve aussi les autres Boutons. Ensuite en fonction de ce que vous attendez de votre form, il faudra parametrer la propriete BorderStyle de 1 a 5 et MaxButton
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
11 avril 2008 à 12:46
11 avril 2008 à 12:46
Bonjour,
Ce topic est "Résolu", ouvre un nouveau sujet si tu veux avoir des réponse
;o)
Polux
Ce topic est "Résolu", ouvre un nouveau sujet si tu veux avoir des réponse
;o)
Polux