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 :

Besoin de conseil sur les classes


Sujet :

MFC

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut Besoin de conseil sur les classes
    Bonjour a tous,

    j’ai crée une class de type Generic sous un projet SDI
    Je voudrai que cette classe dispose d’un accès à la View afin de pouvoir gérer tous l’affichage.

    Avec beaucoup de patience, j’ai trouvé une méthode mais je trouve pas sa très pratique.

    Voila comment j’ai procédé :


    // nouvelle class
    class CDisplay
    {
    public:
    CDisplay();
    virtual ~CDisplay();
    void CDisplay::affiche(class CExpressView & );

    };


    // le fichier .cpp

    CDisplay::CDisplay()
    {

    }

    CDisplay::~CDisplay()
    {

    }

    // Petite fonction bidon pour faire des test
    // j'affiche "coucou" sur une listbox


    void CDisplay::affiche(CExpressView &P)
    {

    P.pListBox -> AddString("coucou");

    }

    /////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////
    // Sur le fichier ExpressView .cpp
    // J'utilise un Bouton pour faire le test

    void CExpressView::OnButton1()
    {
    CExpressView T ;

    T.pListBox = static_cast<CListBox *>(GetDlgItem(IDC_LIST1));

    CDisplay M;
    M.affiche(T);
    }

    //////////////////////////////////////////////////
    //////////////////////////////////////////////////
    class CExpressView : public CFormView
    {
    public:
    // Je définie mon pointeur
    CListBox *pListBox;


    ......

    }
    J'aimerai savoir si il existe une autre méthode.

    ps : Je suis débutant en programmation objet.

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 366
    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 366
    Points : 20 402
    Points
    20 402
    Par défaut
    je crois que ce genre de question a été posée maintes fois ,il me semble
    Dans un projet SDI passer par la classe document et obtenir un pointeur sur la CView que l'on veut :
    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
     
    // This example uses CDocument::GetFirstViewPosition
    // and GetNextView to repaint each view.
    void CMyDoc::OnRepaintAllViews()
    {
       POSITION pos = GetFirstViewPosition();
       while (pos != NULL)
       {
          CView* pView = GetNextView(pos);
          pView->MethodeQueLonVeutAppeler()
       }   
    }
     
     
     
    // An easier way to accomplish the same result is to call
    // UpdateAllViews(NULL);
    Sinon quel est le but principal de la manoeuvre ??

Discussions similaires

  1. Besoin de conseil sur les TImage
    Par LescureImage dans le forum C++Builder
    Réponses: 1
    Dernier message: 04/07/2008, 18h11
  2. besoin de conseils sur les ouvertures de connexion
    Par maxidoove dans le forum JDBC
    Réponses: 1
    Dernier message: 11/06/2008, 13h09
  3. J'ai besoin d'aides sur les classes
    Par zizo89 dans le forum Langage
    Réponses: 2
    Dernier message: 30/12/2007, 13h52
  4. besoin de conseil sur les procédures stockées et vues.
    Par zenfantasy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/11/2007, 21h41
  5. [POO] Besoin de tutorat sur les classes
    Par misterniark dans le forum Langage
    Réponses: 11
    Dernier message: 20/04/2006, 13h48

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