Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA - Tester si le Menu Système est présent dans un UserForm

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

J'arrive à ajouter le Menu Système à un UserForm par contre je suis incapable de déterminer a postériori si ce Menu Système est présent ou pas.
Je ne sais pas comment traiter le iStyle pour retourner un booléen.
Voir le fichier joint (modifié à 22h30 car initialement bugué)
 

Pièces jointes

Dernière édition:
Solution
Bonsoir,

Le Menu Système ajouté introduit la possibilité de minimiser le UserForm.
Je n'ai pas ajouté les options de maximisation et de redimensionnement manuel.

Donc AVEC:

et SANS:


Voilà ce qui ne fonctionne pas: le iStyle And WS_SYSMENU
Sachant que pour l'ajouter j'ai fait un iStyle = iStyle Or WS_SYSMENU
VB:
'---------------------------------------------
'Retourne True si le UserForm a le System Menu
'---------------------------------------------
Function UserFormHasSystemMenu() As Boolean
    Dim iStyle As LongPtr
 
    'Get the basic window styles
    iStyle = GetWindowLongPtr(UserFormHandle, GWL_STYLE)
    'MsgBox iStyle
 
    UserFormHasSystemMenu = CBool(iStyle And WS_SYSMENU)
End Function
 
Dernière édition:
ll n'y a aucune raison que la valeur renvoyée par GetWindowLong soit LongPtr. Elle devrait rester Long.
Il n'y a aucune raison non plus que le nom de l'API ait changé. Même le handle je ne suis pas sûr qu'il doit passer en LongPtr.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
1 K
J
Réponses
15
Affichages
4 K
jacky 17
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…