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

MFC Discussion :

Supprimer les ascenseurs de la View [FAQ]


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Par défaut Supprimer les ascenseurs de la View
    Bonjour,

    Mon problème est le suivant :

    J’ai crée un projet avec un contexte SDI, j’ai bloqué le redimensionnement de la fenêtre. Mais je voudrais me débarrassé des ascenseurs. J’ai cherché dans la FAQ, et j’ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    ModifyStyle(WS_HSCROLL,0,0);
    ModifyStyle(WS_VSCROLL,0,0);
    Invalidate();
    Sa supprime bien les ascenseurs, mais sa laisse une zone blanche.
    De plus, lorsque je click sur la zone de l’ascenseur, sa réapparait.

    Si quelqu’un à une idée sur comment faire …

    Merci d’avance.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    si il y a des ascenseurs c'est que la surface est trop petite par rapport à celle définie dans les ressources.
    si tu a bloqué le redimensionnement de la fenêtre c'est que les valeurs ne correspondent à la taille initiale de la fenêtre.
    pour cela il suffit de faire un GetWindowRect pour les récupérer.
    A mon sens il est plus facile de mettre ça en accord que d'essayer de virer les ascenseurs qui sont gérés par le framework...

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Par défaut
    Bonjour,

    Effectivement tu as raison, j’ai une fenêtre de ressource plus grande, que celle de l’exécution. Mais c’est volontaire, en effet mon projet consiste à créer une interface graphique permettant de saisir des configurations pour un appareil audio.

    J’ai beaucoup de contrôle (CEdit, COMBOBOX…), mais suivant l’appareil, l’utilisateur doit avoir accès à certain chose mais pas d’autre.
    Voila pourquoi je définis tous mes contrôles dans ma fenêtre de ressource, et ensuite avec SetWindowsPos je les déplace et les rend visible.

    Pour conclure, la fenêtre principale du programme ne doit pas être énorme et aussi l’utilisateur ne doit pas pouvoir la redimensionner. Voila pourquoi je cherche à virer les ascenseurs

    C’est la première application graphique que je développe, et si y’a d’autre solution plus professionnel, je suis preneur.

    Merci pour ton aide.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    re,
    après réflexions la solution est très simple
    la CFormView hérite de la CSCrollView et on dispose d'une fonction spécifique pour adapter la surface de la fenêtre à la taille fenêtrée:SetScaleToFitSize
    exemple fait dans OnInitialUpdate de ma form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CRect Rect;
        GetParentFrame()->GetWindowRect(&Rect);
        GetParentFrame()->SetWindowPos( NULL,0,0,Rect.Width(),Rect.Height()/2,SWP_NOMOVE | SWP_NOZORDER); //
        SIZE size;
        size.cx=Rect.Width();
        size.cy=Rect.Height()/2;
        SetScaleToFitSize(size);

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Par défaut
    C’est super ça marche, merci beaucoup beaucoup...

    Halala si j’avais ton niveau, je galérerai moins.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment supprimer les doublons
    Par djelloulc dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/09/2013, 14h30
  2. Supprimer les ascenseurs d'une page
    Par yoana dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 21/03/2013, 10h45
  3. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  4. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11
  5. [String] Comment supprimer les accents
    Par iuz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 08/03/2004, 02h58

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