Fenetre Mdi Fille + Menu + Bouton Reduire,Agrand,Fermer
Developpeur WDF
Inscrit:
24/11/2003 10:38
De Dieppe
Post(s): 118
Bon je ne suis pas le permier à evoquer ce sujet, mais comme beaucoup doivent le savoir, les propriétés d'une fenetre fille mdi, on des cases grisés qui empechent de rendre invisible les boutons "Réduire","Agrandir" et "Fermer".

Est ce un comportement normal ? a vrai dire je n'en sais rien.

Ce qui veut dire qu'une fenetre MDI Maximizé dans une fenetre Mere MDI avec un menu, fait forcement apparaitre ces 3 boutons.

Apres avoir fouiner sur le net on peut trouver pas mal de demi-solution.

- Un exemple Windev 5 (WD5MDI) aurait un bout de code pour arranger ca.
Si j'amais quelqu'un a windev 5 et veux bien copier le bout de code ici ca serait super.

- Intercepter les évenements de la fenetre et en réagir en fonction.
SC_CLOSE -> Je réouvre la fenetre (un reprisesaisie ne marche pas)
SC_MAXIMIZE SC_MINIMIZE SC_RESTORE -> Je maximize
La notion de réouverture de fenetre ne me convient absolument pas. Je pourais simplifier cette solution en mettant un maximize dans l'evenement "changement de taille" de la fenetre.

- Différent bout de code pour cacher les boutons d'une fenetre qui fonctionne tant que la fenetre n'est pas maximizée. (Windev gère t'il ces fameux bouton sur la barre de menu ?)


Je pose donc la question quelqu'un aurait t'il une solution pour bloquer ou faire disparaitre ces 3 boutons ?

Contribution le : 05/07/2005 17:41
Créer un fichier PDF de la contribution Imprimer


Re: Fenetre Mdi Fille + Menu + Bouton Reduire,Agrand,Fermer
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
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)

Contribution le : 05/07/2005 22:47
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Fenetre Mdi Fille + Menu + Bouton Reduire,Agrand,Fermer
Developpeur WDF
Inscrit:
24/11/2003 10:38
De Dieppe
Post(s): 118
Desolé mais ca reste ce que j'ai appelé :
Citation :
- Différent bout de code pour cacher les boutons d'une fenetre qui fonctionne tant que la fenetre n'est pas maximizée. (Windev gère t'il ces fameux bouton sur la barre de menu ?)


La solution que tu proposes je l'ai vu sur tout un tas de forum et je le repete ca ne marche pas si tu as un menu et que c'est une fenetre fille MDI maximisée, dans un fenetre mère MDI.



Contribution le : 06/07/2005 09:08
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2