Aide VB, fermer l'application ...

Résolu
alexmilano Messages postés 445 Statut Membre -  
 bizare -
Bonjour,

j'aimerais savor comment on peut programmer sur Visual Basic pour que la croix rouge pour fermer l'application n'ai plus d'effet ...

merci @+

--

tout probleme est du a une erreur de ta part ...

5 réponses

  1. -Shadow- Messages postés 2148 Date d'inscription   Statut Membre Dernière intervention   270
     
    Re,
    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 :-)
    7
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    -1
    1. bizare
       
      Ok ;)
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    -2
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    -3
    1. Ludix
       
      Bonjour,

      Cela marche effectivement pour les formulaires mais a priori pas pour la croix de l'application....

      Quelqu'un aurait-il une solution pour désactiver la croix de fermeture de l'application
      0
    2. bizare
       
      Up
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Ce topic est "Résolu", ouvre un nouveau sujet si tu veux avoir des réponse

    ;o)

    Polux
    -4