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 :

gestion affichage dans la vue (MFC - C++)


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par défaut gestion affichage dans la vue (MFC - C++)
    Bonjour à Tous,
    j'ai un petit probleme de gestion d'affichage ! en fait j'arrive à ouvrir un fichier et stocker les caracteres dans un tableau pbuf; mais au niveau de l'affichage dans la vue j'arrive pas à bien parametrer pour que le texte s'affiche correctement( barre de defilement inexistant, pas de retour à la ligne quand fenetre débordé..............) pour la barre de defilemen on m'a conseillé d'heriter ma classe CnomduprojetView de CScrollView mais ça ne marche pas ! j'utilise le visual net 2003 (C++)
    mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    void CprojetView::OnDraw(CDC* pDC)
    {
        CprojetDoc* pDoc = GetDocument();
        ASSERT_VALID(pDoc);
        if (!pDoc)
            return;
        if(pDoc->ouvert==true)
        {
        CRect rect ;
        GetClientRect(&rect);
    pDC->DrawText((CString(pDoc->m_pbuf[i])),10000, &rect,1);
        }
        }
     
        // TODO : ajoutez ici le code de dessin pour les données natives
    }
    pense a mettre la balise de code ,Merci Farscape

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pDC->DrawText((CString(pDoc->m_pbuf[i])),10000, &rect,1);

    1-pas de boucle pour accéder aux éléments d e m_pbuf
    2-m_pbuf c'est un char * ? Il ya des templates plus intéressantes à utiliser comme CArray et plus "safe" plutot qu'un char *

    j'ai un petit probleme de gestion d'affichage ! en fait j'arrive à ouvrir un fichier et stocker les caracteres dans un tableau pbuf; mais au niveau de l'affichage dans la vue j'arrive pas à bien parametrer pour que le texte s'affiche correctement( barre de defilement inexistant, pas de retour à la ligne quand fenetre débordé..............)
    C'est un peu complexe comme opération ; il faut déterminer la taille du texte selon une taille TEXTMETRIC avec GetTextMetrics ou GetTextExtent, fixer la zone de la CScrollView etc...
    Je suggerrai un livre d'approfondissement des MFC comme celui de Prosise ou alors utiliser un CRichEditCtrl qui encapsule du texte RTF et qui permet de charger les lignes d'un fichier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par défaut gestion affichage MFC
    désolé il y avait une erreur dans mon code

    c'est celui ci le bon.

    J'espère que j'aurai une aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    void CprojetView::OnDraw(CDC* pDC)
    {
        CprojetDoc* pDoc = GetDocument();
        ASSERT_VALID(pDoc);
        if (!pDoc)
            return;
        if(pDoc->ouvert==true)
        {
        CRect rect ;
        GetClientRect(&rect);
    pDC->DrawText((pDoc->m_pbuf),10000, &rect,1);
        }
        }
     
        // TODO : ajoutez ici le code de dessin pour les données natives
    }
    merci de penser à la balise et de faire un effort sur l'écriture.

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Mais pourquoi s'obstiner à faire un DrawText avec 10000 codé en dur ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Par défaut MFC
    En fait , je sais pas trop comment utiliser la fonction DrawText(). peux tu m'expliquer comment ? merci !

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Citation Envoyé par kam42 Voir le message
    En fait , je sais pas trop comment utiliser la fonction DrawText(). peux tu m'expliquer comment ? merci !
    ? Il existe le MSDN

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/11/2010, 21h13
  2. gestion affichage dans pannel
    Par Septembre84 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/05/2008, 22h17
  3. Réponses: 12
    Dernier message: 01/06/2006, 15h32
  4. Réponses: 4
    Dernier message: 25/04/2006, 16h14
  5. [mfc] affichage dans une boite de dialog
    Par chronos dans le forum MFC
    Réponses: 3
    Dernier message: 14/06/2004, 15h12

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