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 !

ABOLITION DU MENU SYSTÈME


Information sur la source

Catégorie :API Classé sous : menu, système, abollition Niveau : Expert Date de création : 09/11/2000 Vu : 6 626

Note :
8,33 / 10 - par 9 personnes
8,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Ces quelques lignes permettent de supprimer la petite croix en haut à droite, qui permet de fermer une fenête VB. En préparation, : La rallumer !
 

Source

  • Public Declare Function DrawMenuBar Lib "user32" (ByVal Hwnd As Long) As Long
  • Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
  • Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
  • Public Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As Long
  • Public Const MF_BYPOSITION = &H400
  • Public Const MF_REMOVE = &H1000
  • Public Function fctSupprimerFermerMenuSysteme(ByVal plngHwnd As Long) As Long
  • Dim lngHmenu As Long
  • Dim lngNombreElement As Long
  • lngHmenu = GetSystemMenu(plngHwnd, 0)
  • If lngHmenu Then
  • lngNombreElement = GetMenuItemCount(lngHmenu)
  • ' Suppression de l'élément Fermer
  • Call RemoveMenu(lngHmenu, lngNombreElement - 1, MF_REMOVE Or MF_BYPOSITION)
  • ' Suppression du séparateur
  • Call RemoveMenu(lngHmenu, lngNombreElement - 2, MF_REMOVE Or MF_BYPOSITION)
  • ' On redessine le menu
  • Call DrawMenuBar(plngHwnd)
  • End If
  • End Function
Public Declare Function DrawMenuBar Lib "user32" (ByVal Hwnd As Long) As Long
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function GetSystemMenu Lib "user32" (ByVal Hwnd As Long, ByVal bRevert As Long) As Long
Public Const MF_BYPOSITION = &H400
Public Const MF_REMOVE = &H1000
Public Function fctSupprimerFermerMenuSysteme(ByVal plngHwnd As Long) As Long
    Dim lngHmenu As Long
    Dim lngNombreElement As Long

    lngHmenu = GetSystemMenu(plngHwnd, 0)
    If lngHmenu Then
        lngNombreElement = GetMenuItemCount(lngHmenu)
    
        ' Suppression de l'élément Fermer
        Call RemoveMenu(lngHmenu, lngNombreElement - 1, MF_REMOVE Or MF_BYPOSITION)
        
        ' Suppression du séparateur
        Call RemoveMenu(lngHmenu, lngNombreElement - 2, MF_REMOVE Or MF_BYPOSITION)
    
        ' On redessine le menu
        Call DrawMenuBar(plngHwnd)
    End If
End Function

 

Conclusion

J'aime pas les croix.... (Ni dieu,ni maître)
 

Commentaires et avis

signaler à un administrateur
Commentaire de yoman64 le 05/06/2002 19:32:19

Pas mal mais sa serre pas a grand chose

signaler à un administrateur
Commentaire de Ordiman le 07/06/2002 15:38:49

Intéressant pour un installateur maison ou pour des boites de dialogue qui peuvent être réduites sans être fermées.
Essayer aussi
Private Sub Form_QueryUnload(Cancel as Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then
        Cancel = True
        Me.Hide
    End If
End Sub
Ceci sert à contrôler si l'utilisateur a choisi la Croix pour fermer la fenêtre : si c'est le cas, la fenêtre est masquée (donc on peut encore appeler des propriétés ou des méthodes de contrôles).

signaler à un administrateur
Commentaire de liquide le 20/05/2003 11:28:07

Grand merci , pas testé, mais je pense que c'est tout a fait ce que je cherchais. mes feuilles sont en dynamiques, sauf une qui doit toujours rester presente avec les données

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

a propos des menus [ par Stephane ] salut a tousj'ai une question (sinon y aurai pas ce msg :) )voila quand, dans window on clique sur un menu, y a le cadre qui se déroule avec les menus Personnaliser la police d' un menu sans toucher à la configuration système [ par chaibat05 ] Bonsoir tout le monde,Y' as t- il moyen de changer la police d' un 'menu' , juste pour son application.J' ai des Items à faire en 'Arabe' et je voudra Touches raccourcis dans le menu système [ par mickey cohen ] Bonjours à tous,Comment fait-on pour rajouter un raccourci clavier à un item du menu système ?Exemple :Fermer => Alt + F4je cré [.NET] Barre de menu / d'outils dans feuille mdi fille [ par seblutfr ] Bonjour,J'ai un souci avec une appli MDI que je suis en train de mettre au point.Je souhaiterais qu'en fonction de la feuille fille affichée, les Activer un Menu [ par tbbuim1 ] Bonjour à tous,J'ai un menu dans une MDIj'ai disabled tous les onglets du menu.Je voudrais en activer certain lorsque je suis dans un FormChildCo Voudrais un Conseil [ par WARRIOSS ] Salutation.j'ai un projet a rendre pour dans 1 mois. je dois faire un programme qui crée et sauvegarde les menu d'un restaurant. Pour cela, je do Comment modifier le nom du menu start ou demarrer [ par theghostcs ] Bonjour, je voudrais savoir ou je pourrait avoir le code source pour changer le nom du menu start ou demarrer . Je voudrait une reponse au plutot.Merc menu non accessible [ par bedomon ] Bonjour a tous, voila mon problreme j'ai une appli en vb6 et je me sert de feuille MDI. sur la feuille mere j'ai un menu fait avec le createur de me Datagrid et menu contextuel [ par zesamoth ] Bonjour messieurs,   Voila je suis en train de faire un petit soft en VB (VS 2005) mais je rencontre actuellement un petit soucis (rien Icones dans menu vb6 [ par AVI17 ] Comment mettre des icones sur les lignes de mes menus sous vb6 merci de la réponse.


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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 : 0,671 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é.