IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#][MDI] Désactiver la fonctionnalité "niveau inférieur"


Sujet :

Windows Forms

  1. #1
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut [C#][MDI] Désactiver la fonctionnalité "niveau inférieur"
    Bonjour,

    Au sein d'une fenêtre parent Mdi, est-il possible de désactiver le bouton et la fonctionnalité permettant de réduire d'un niveau la fénêtre enfant (ce bouton est entre le bouton fermer et réduire) ?

    En gros, je voudrais que mes fenêtres enfants puissent seulement :

    • être réduites
    • être maximisées

    Donc pas d'état intermédiaire.

    Merci !

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    Ok, j'ai compris ta question

    En faite, tu voudrais que lorsque t'as fenetre est agrandi au max, tu n'es
    pas le bouton "Niveau Inférieur" qui apparaisse, c'est bien cela ?

    MAis à ce moment là, je pose la question suivante:

    T'as fenetre est maximisée par exemple au début de l'application..

    Que voudrais tu afficher à ce moment là dans la "controlBox" (c'est le nom des 3 boutons en haut à droite ?

    PArce que une solution serait :

    MyMdiParent.MaximizeBox = false;
    MyMdiParent.WindowState = FormWindowState.Maximized;

    mis dans le Load.. et la, tu n'aurais plus la fonctionnalité "niveau inférieur"
    par contre, en terme d'affichage, l'icone sera visible mais affichée en mode désactivée..

    Par contre, si tu veux avoir une fenetre sans cette icone visible, il va falloir
    soit te faire ta propre fenetre Mdi avec une surcharge du OnPaint() je pense voir trapper les messages du type NC_CLIENT_AREA (ou un truc comme ca) pour que tu gères toi meme le Paint de la NC_Area (la barre de caption)

    Est-ce que cela reponds à ta question ?

    The Monz, Toulouse

  3. #3
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    En partie, car ce n'est pas les boutons de la fenêtre parent que je souhaite désactiver, mais bien ceux de la fenêtre enfant. Et malgré les lignes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    childForm.MaximizeBox = false;
    childForm.MaximizeBox = false;
    la fenêtre enfant conserve toujours son bouton de "niveau inférieur".

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    Effectivement, tu as raison, apres essai, meme conclusion...

    Et meme idée toujours : un override de WndProc dans la fenetre fille,
    et il te faut trapper les messages qui correspondent aux changements de taille via le "niveau inférieur"....

    Je ne saurais te dire comme ça quels sont les messages à gérer mais utilise
    des outils de spy de message pour savoir ce que recoit une fenetre lors de
    l'appui sur le bouton "niveau inférieur"

    Désolé, peux pas dire mieux

    The Monz, Toulouse

Discussions similaires

  1. [XPATH] obtenir nom attribut d un niveau inférieur
    Par skyangel dans le forum Format d'échange (XML, JSON...)
    Réponses: 14
    Dernier message: 01/03/2008, 16h06
  2. désactiver des fonctionnalités par script
    Par nicovbs dans le forum Windows Vista
    Réponses: 0
    Dernier message: 11/09/2007, 15h30
  3. [log4j] désactiver l'écriture du niveau de log
    Par romainw dans le forum Logging
    Réponses: 3
    Dernier message: 06/08/2007, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo