Bonjour c'est mon premier message sur le forum
et j'ai une question un peu difficile!
Comment faire pour obtenir une fenetre MDI fille sans avoir la barre de titre
mes recherches :
1°) procedure qui le fait, mais en suite la fenetre reste statique :
PROCEDURE ChangeTypeFenetre()
LOCAL
lInt est un entier
// Modification des attributs du cadre de la fenêtre
lInt=AppelDLL32("User32", "GetWindowLongA", Handle(""), -16)
// -0x1 enlève le bouton maximise (grisé sous Win95)
// -0x2 enlève le bouton iconise (grisé sous Win95)
// -0x8 enlève le menu système (grisé sous Win95)
// -040 enlève la barre de titre
// -0x4 enlève les bords de modification de taille
lInt=(HiWord(lInt)-0x1-0x2)*65536+LoWord(lInt)
AppelDLL32("User32","SetWindowLongA",Handle(""),-16,lInt)
AppelDLL32("User32","SetWindowPos",Handle(""),0,0,0,0,0,0x27)
2°) procedure qui le fait pas, mais qui par ailleurs remplit d'autres services :
// fenetre : nom de la fenetre
// bReduction : vrai affiche l'icone de réduction, faux l'efface
// bAgrandissement : vrai affiche l'icone d'agrandissement, faux l'efface
// bMenu : vrai affiche le menu systeme , faux l'efface
PROCEDURE GLOBALE FenAfficheIcone(fenetre, bReduction=Vrai,
bAgrandissement=Faux, bMenu=Vrai)
HdlFen est un entier long= Handle(fenetre)
GWL_STYLE est un entier = -16
WS_MINIMIZEBOX est un entier long = 131072
WS_MAXIMIZEBOX est un entier long = 65536
WS_SYSMENU est un entier long = 524288
RDW_FRAME est un entier long = 1024
RDW_INVALIDATE est un entier long = 1
RDW_UPDATENOW est un entier long = 256
SI (bAgrandissement OU bReduction) ET PAS bMenu ALORS
Erreur("Pour afficher l'icone de réduction ou l'icone
d'agrandissement,"+RC+RC+"il faut afficher le menu système !")
RETOUR
FIN
infoFen est un entier long =
AppelDLL32("user32","GetWindowLongA",HdlFen,GWL_STYLE)
SI bReduction = 1 ALORS //--- affiche icone réduction
infoFen = OUBinaire(infoFen,WS_MINIMIZEBOX)
SINON //--- efface icone agrandissement
infoFen = ETBinaire(infoFen,NONBinaire(WS_MINIMIZEBOX))
FIN
SI bAgrandissement = 1 ALORS //--- affiche icone agrandissement
infoFen = OUBinaire(infoFen,WS_MAXIMIZEBOX)
SINON //--- efface icone agrandissement
infoFen = ETBinaire(infoFen,NONBinaire(WS_MAXIMIZEBOX))
FIN
SI bMenu = 1 ALORS //--- affiche menu systeme
infoFen = OUBinaire(infoFen,WS_SYSMENU)
SINON //--- efface menu systeme
infoFen = ETBinaire(infoFen,NONBinaire(WS_SYSMENU))
FIN
AppelDLL32("user32","SetWindowLongA",HdlFen,GWL_STYLE,infoFen)
AppelDLL32("user32","RedrawWindow",HdlFen,Null,Null,RDW_FRAME+RDW_INVALIDATE
+RDW_UPDATENOW)
Voila merci de m'avoir lu