PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Enlever le X d'une fenêtre
Enlever le X d'une fenêtre
Débuté par mkurth, 01 déc. 2005 13:07 - Aucune réponse
Posté le 01 décembre 2005 - 13:07
Avis aux intéressés(es)

voici une fonction permettant de désactiver le X dans une fenêtre (et dans
le menu système)

// iHandle : Handle de la fenetre
// bReactiver : Vrai pour remettre l'état initial de la fenêtre, faux pour
enlever le X
PROCEDURE EnleverXFenetre(iHandle,bReactiver=Faux)
iHandleMenu est un entier
MF_GRAYED est un entier = 0x1
MF_BYCOMMAND est un entier sans signe = 0
SC_CLOSE est un entier sans signe = 0xF060
SI bReactiver ALORS
//Réactivation du menu originale
API("user32","GetSystemMenu",iHandle,Vrai)
//Redessine la barre de menu
API("user32","DrawMenuBar",iHandle)
SINON
//Récupération du handle du menu système (Haut gauche)
iHandleMenu = API("user32","GetSystemMenu",iHandle,False)
SI iHandleMenu <> 0 ALORS
//Retourne l'état avant le changement ou -1 si le menu n'existe pas
SI
API("user32","EnableMenuItem",iHandleMenu,SC_CLOSE,MF_BYCOMMAND+MF_GRAYED)
<> -1 ALORS
//Redessine la barre de menu
API("user32","DrawMenuBar",iHandle)
SINON
Erreur(ErreurInfo(errComplet))
FIN
SINON
Erreur(ErreurInfo(errComplet))
FIN
FIN

Mathieu