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

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

  • Test System Menu Present.xlsm
    30.9 KB · Affichages: 3
Dernière édition:
Solution

patricktoulon

XLDnaute Barbatruc
re
tu va me dire oui mais comment ne pas faire une mauvaise compilation
ben c'est simple c'est impossible!!!
tu peux essayer d'ajouter 1/2/3/4/5 properties, tu ne pourra jamais avoir un total qui correspond a une autre addition logique de properties

c'est exactement pareil que les constantes vb pour les msgbox on ne peut pas avoir un résultat identique sur deux additions logique différentes

voila voila
 

Dudu2

XLDnaute Barbatruc
newstyle=getwindowlong (hwnd,-16)'ici le newstyle va me donner &H94C90080
c'est pas compliqué
Peut-être pour toi mais pour moi ce n'est pas clair et c'est compliqué parce qu'il faut calculer, et encore cette partie &H94 est hors scope pour moi.
Je préfère les manipuler individuellement, au moins j'y vois quelque chose:
VB:
'Add or remove the System Menu buttons
    If XtoClose Then iStyle = iStyle Or WS_SYSMENU Else iStyle = iStyle And Not WS_SYSMENU
    If Maximize Then iStyle = iStyle Or WS_MAXIMIZEBOX Else iStyle = iStyle And Not WS_MAXIMIZEBOX
    If Resize Then iStyle = iStyle Or WS_SIZEBOX Else iStyle = iStyle And Not WS_SIZEBOX
    If Minimize Then iStyle = iStyle Or WS_MINIMIZEBOX Else iStyle = iStyle And Not WS_MINIMIZEBOX
Mais bon chacun sa méthode.
 

Dudu2

XLDnaute Barbatruc

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 644
Messages
2 111 528
Membres
111 189
dernier inscrit
Laurent.