Re: Fenetre Mdi Fille + Menu + Bouton Reduire,Agrand,Fermer

Posté par drcharly93 le 5/7/2005 22:47:40
Bonjour,

1) récupérer le Handle de la fenêtre fille
2) Rendre invisible la croix
3) Rendre invisible le bouton Min et suppression du menu systeme
4) Rendre invisible le bouton Max et suppression du menu systeme
5) On maximise la fenêtre fille

CONSTANTE
        //Constantes utilisées dans les procédures 
	GWL_STYLE = (-16)
	MF_BYCOMMAND = 0
	MF_BYPOSITION = 0x400
	SC_MINIMIZE = 0xF020
	SC_MAXIMIZE = 0xF030
	SC_CLOSE = 6
	WS_MAXIMIZEBOX = 0x10000
	WS_MINIMIZEBOX = 0x20000
FIN

PROCEDURE No_X(phWndFenetre est un entier)
//Désactiver X
hMenu, k sont des entiers 
hMenu = API("user32","GetSystemMenu",phWndFenetre, Faux)
k = API("user32","DeleteMenu",hMenu, SC_CLOSE, MF_BYPOSITION)

PROCEDURE No_Min(phWndFenetre est un entier)
//Désactiver 'minimiser'
hMenu, k sont des entiers
hMenu = API("user32","GetSystemMenu",phWndFenetre, False)
k = API("user32","DeleteMenu",hMenu, SC_MINIMIZE, MF_BYCOMMAND)
k = API("user32","GetWindowLongA",phWndFenetre, GWL_STYLE)
k = OUExclusifBinaire(k, WS_MINIMIZEBOX)
API("user32","SetWindowLongA", phWndFenetre, GWL_STYLE, k)

PROCEDURE No_Max(phWndFenetre est un entier)
//Désactiver 'maximiser'
hMenu, k sont des entiers
hMenu = API("user32","GetSystemMenu",phWndFenetre, False)
k = API("user32","DeleteMenu",hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
k = API("user32","GetWindowLongA", phWndFenetre, GWL_STYLE)
k = OUExclusifBinaire(k, WS_MAXIMIZEBOX)
API("user32","SetWindowLongA", phWndFenetre, GWL_STYLE, k)

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=2480&post_id=10473