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 :

Application MFC - MDI - Scrollbars


Sujet :

MFC

Vue hybride

m.olivier.valentin Application MFC - MDI -... 11/05/2009, 16h51
farscape salut, ton application est... 12/05/2009, 06h59
m.olivier.valentin Oui effectivement les... 12/05/2009, 10h02
farscape salut, la classe CScrollview... 13/05/2009, 08h39
m.olivier.valentin Hmmm... J'ai beau cherché... 13/05/2009, 11h10
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Par défaut Application MFC - MDI - Scrollbars
    Bonjour,

    Actuellement, je développe une application MFC en MDI et je rencontre un problème fâcheux.

    Mon application affiche des courbes via OnDraw comme je le souhaite mais ce qui s'affiche à l'écran est plus grand que la résolution de la vue du document.

    Je me suis donc dit, il suffit d'ajouter des scrollbars verticaux et horizontaux...

    "Il suffit" est un bien grand mot car à ce jour pas moyen d'y arriver... La seule chose à laquelle j'arrive c'est à ajouter les ascenseurs mais ceux ci ne font littéralement rien (pas moyen de "descendre" avec donc...)

    Pour l'instant mes scrollbars sont affichés "grâce" à cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BOOL CMainFrame:: PreCreateWindow(CREATESTRUCT& cs)
    {
        // TODO: Modify the Window class or styles here by modifying
        //  the CREATESTRUCT cs    
        cs.style |=(WS_VSCROLL | WS_HSCROLL);    
        return CMDIFrameWnd:: PreCreateWindow(cs);
    }
    Quelqu'un saurait-il comment je dois m'y prendre avec précision pour que je réussisse enfin à rendre fonctionnel ces ascenseurs dans mes childframe ?

    Je vous remercie d'avance.

    Ps : j'ai essayé de chercher dans le guide en ligne, qui d'ailleurs m'a dépanné grandement sur d'autres problèmes, mais là je n'y trouve visiblement pas de réponse...

    Ah et sinon je code avec VC 6, la version récente j'y suis allergique.
    pense à mettre la balise de code, Merci Farscape

  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,
    ton application est MDI, je suppose que tu dessines dans une vue ?
    la classe la plus appropriée serait la CSCrollView.
    pourquoi vouloir rajouter les ascenseurs sur la mainframe ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Par défaut
    Oui effectivement les ascenseurs sont inutiles dans la mainframe, c'est dans les childframe qu'ils ont leurs utilités...

    Par contre, cette histoire de CScrollView, j'ai pas tout compris j'avoue...

    J'ai pas de classe CScrollView dans mon projet mais visiblement il y en a une dans la libraibrie MFC de référence...

    Dois je donc créer une classe CMyScrollView qui a comme base la classe MFC CScrollView ?

    Et une fois celle ci créée, comment faire pour la déclaration de mes scrollbar ?

    Merci d'avance !

  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
    salut,
    la classe CScrollview est la classe dédiée au dessin, elle dispose déjà de la gestion des scrollbars.
    tu peux en plus définir ta propre surface client de dessin.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Par défaut
    Hmmm...

    J'ai beau cherché dans ma liste de classe, je n'ai pas de classe CScrollView...

    J'imagine qu'il faut l'importer d'une bibliothèque de classe commune à toute les MFC.

    Comment faire ?

    Ps : merci pour tes réponses ^^

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Par défaut
    Bon après quelques recherche, j'ai fait dérivé ma classe CPrgView de la classe CScrollView et non plus de la classe CView, en modifiant ça dans CPrgView.h

    (EDIT : j'ai fait cela en recréant un projet vide où ma vue dérivait d'une CScrollView et non plus d'une CView, ensuite j'ai repris les fichiers que j'avais bien sur nommés à l'identique pour éviter tout conflit, et j'ai réécrit mes fonctions)

    Je pensais donc que j'allais enfin avoir directement les scrollbar, eh bien non, pas du tout...

    Faut-il que je rajoute du code dans ma View pour que ceux ci soit activé ?

    Si oui lequel ?

    Merci d'avance !

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

Discussions similaires

  1. Application MFC - MDI - Gestion des couleurs étrange
    Par m.olivier.valentin dans le forum MFC
    Réponses: 10
    Dernier message: 01/06/2009, 08h54
  2. Réponses: 1
    Dernier message: 19/04/2008, 17h37
  3. Intégration d'une application MFC MDI dans une DLL
    Par AYARA Adel dans le forum MFC
    Réponses: 3
    Dernier message: 03/03/2008, 20h11
  4. Réponses: 12
    Dernier message: 02/02/2005, 16h52
  5. Application MFC contre pure Win32
    Par albertl dans le forum MFC
    Réponses: 15
    Dernier message: 01/02/2005, 20h16

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