PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → boutons systèmes sur fenêtre fille MDI
boutons systèmes sur fenêtre fille MDI
Débuté par thierry, 13 fév. 2018 16:01 - 3 réponses
Posté le 13 février 2018 - 16:01
Bonjour,
je voudrais savoir si vous connaissez une astuce pour supprimer les boutons systèmes (Iconiser,Agrandir,Fermer) d'une fenêtre fille MDI lorsque celle-ci est maximisée. les boutons de cette fenêtre se retrouve à droite à coté du menu général de la fenêtre mère.
Toutes les petites astuces que j'ai pu trouvé ne sont pas terribles et du coup je me casse un peu les dents !
merci pour votre aide.



Posté le 13 février 2018 - 17:19
Tiens j'ai fait un procédure pour cela.

PROCEDURE InterdireAgrandissementMdi()

LOCAL

nStyle est entier
bRes est un booléen

// Modification des attributs du cadre de la fenêtre
nStyle = API("User32", "GetWindowLongA", Handle(""), -16)

// -0x1 enlève le bouton maximise
// -0x2 enlève le bouton iconise
// -0x8 enlève le menu système
// -040 enlève la barre de titre
// -0x4 enlève les bords de modification de taille

//nStyle=(PoidsFort(nStyle)-0x1-0x2-0x8-0x4)*65536+PoidsFaible(nStyle)

nStyle=(PoidsFort(nStyle)-0x1)*65536+PoidsFaible(nStyle)

// Modification du style de la fenêtre
bRes = API("User32","SetWindowLongA",Handle(""),-16,nStyle) <> 0

RENVOYER (API("User32","SetWindowPos",Handle(""),0,0,0,0,0,0x27)<>0) ET bRes
Posté le 14 février 2018 - 14:05
ok merci je vais tester ça
@+
Membre enregistré
42 messages
Posté le 16 janvier 2019 - 16:13
cacheMenu:
personnellement j'ai créé une fênetre libre appelée cacheMenu

ensuite tu supprime tout les styles, :menu, bard de fenetre ..etc
tu met une couleur de fond "bouton systeme"

une dimensin (dans ihm) de 30 par 200

puis un scrtipt dans le redimensionnement et dans deplacement de fentre mere MDI (fenetre principale du projet):

SI FenEtat( cacheMenu )=Actif ALORS
cacheMenu..X=mainCollecteur..Largeur+mainCollecteur..X-200-10
cacheMenu..Y=mainCollecteur..Y+30
FIN

plus de boutons système!!