Problème avec la fonction API DeleteMenu. . . [VB(A)] - VB/VBA/VBS - Programmation
Marsh Posté le 29-10-2002 à 21:34:34
Up!
J'ai toujours pas trouvé comment régler ce problème
J'ai essayé de supprimer entièrement le menu avec DestroyMenu, mais y'a rien à faire, le bouton "Agrandir/Restaurer" fonctionne toujours.
Marsh Posté le 25-10-2002 à 18:17:42
Bon, sous Excel, je veux supprimer certains éléments du menu système. À l'heure actuelle, je procède comme suit :
Const SC_CLOSE As Long = &HF060
Const SC_MOVE As Long = &HF010
Const SC_RESTORE As Long = &HF120
Const SC_SEPARATOR As Long = &HF00F
Const SC_SIZE As Long = &HF000
Const SC_MAXIMIZE As Long = &HF030
Const MF_BYCOMMAND As Long = &H0&
Dim lngHandle As Long
lngHandle = GetSystemMenu(FindWindowA("XLMAIN", Application.Caption), False)
Call DeleteMenu(lngHandle, SC_CLOSE, MF_BYCOMMAND)
Call DeleteMenu(lngHandle, SC_MOVE, MF_BYCOMMAND)
Call DeleteMenu(lngHandle, SC_RESTORE, MF_BYCOMMAND)
Call DeleteMenu(lngHandle, SC_SEPARATOR, MF_BYCOMMAND)
Call DeleteMenu(lngHandle, SC_SIZE, MF_BYCOMMAND)
Call DeleteMenu(lngHandle, SC_MAXIMIZE, MF_BYCOMMAND)
Ma routine supprime tous les éléments du menu système de ma fenêtre Excel à l'exception de l'élément "Réduire"
Bon, tout ça fonctionne très bien sous toutes plate-formes confondues (Windows 95 à Windows XP).
Mon problème est le suivant : si (et seulement si) l'interface Luna est activée sous Windows XP, le bouton "Restaurer" dans la barre système demeure utilisable alors qu'il ne devrait pas l'être. Si je désactive l'interface Luna, tout fonctionne de nouveau correctement et seul le bouton "Réduire" fonctionne.
Quelqu'un pourrait-il éclairer ma lanterne ?
Merci