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 :

Utilisation de variables globales en MFC


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 213
    Par d�faut Utilisation de variables globales en MFC
    Je sais que l'utilisation de variables globales n'est pas recommand�.

    Je ss face au probleme suivant.
    J'ai une IHM en MFC de type Dialog base.
    J'ai des variables d�finies en public dans le fichier.h de la premiere boite de dialogue.
    J'ai une seconde boite de dialogue qui utilise les m�mes variables.

    Je ne sais o� les d�finirs.
    J'ai d�ja utiliser des variables sur diff�rents Docs en passant par la classe Document en faisant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    GetDocument()->maVariable
    ; mais la je ne sais pas trop comment faire.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    pourquoi ne pas mettre tout ca dans la classe d'application ? apr�s, tu y acc�des grace au pointeur d'application

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 213
    Par d�faut
    Je n'ai pas trop d'experience. Je ne sais pas ce qu est la classe d'application.

    Il y a ds la Faq un sujet sur Comment r�cup�rer le pointeur sur l�application? mais je ne comprends pas vraiment.

    Faut il que je creer une nouvelle classe?

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu dois avoir une classe qui d�rive de CWinApp

    et faire un truc du genre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    CMyApp*pTheApp = static_cast<CMyApp*>(AfxGetApp());
    pTheApp->membrePubliqueDefiniDansCMyApp = ...

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    213
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 213
    Par d�faut
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    class CWinApp : public CWinThread
    {
        DECLARE_DYNAMIC(CWinApp)
    public:
     
    // Constructor
        CWinApp(LPCTSTR lpszAppName = NULL);     // app name defaults to EXE name
     
    // Attributes
        // Startup args (do not change)
        HINSTANCE m_hInstance;
        HINSTANCE m_hPrevInstance;
        LPTSTR m_lpCmdLine;
        int m_nCmdShow;
     
        // Running args (can be changed in InitInstance)
        LPCTSTR m_pszAppName;  // human readable name
                                    //  (from constructor or AFX_IDS_APP_TITLE)
        LPCTSTR m_pszRegistryKey;   // used for registry entries
        CDocManager* m_pDocManager;
     
        // Support for Shift+F1 help mode.
        BOOL m_bHelpMode;           // are we in Shift+F1 mode?
     
    public:  // set in constructor to override default
        LPCTSTR m_pszExeName;       // executable name (no spaces)
        LPCTSTR m_pszHelpFilePath;  // default based on module path
        LPCTSTR m_pszProfileName;   // default based on app name
    Dois je definir mes variables ici?

    Et ensuite j 'accederai au variables avec
    AfxGetApp()->m_lpCmdLine

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu dois plutot avoir une classe qui h�rite de CWinApp (dans un .h qui doit porter le nom de ton projet)
    c'est ici que tu pourras mettre tes variables

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Utiliser des variables globales
    Par jujudrogba dans le forum Delphi .NET
    R�ponses: 4
    Dernier message: 10/02/2007, 11h02
  2. R�ponses: 5
    Dernier message: 31/05/2006, 12h39
  3. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    R�ponses: 21
    Dernier message: 02/05/2006, 15h21
  4. R�ponses: 6
    Dernier message: 07/04/2006, 01h10
  5. utilisation des variables global dans tout le projet
    Par EYENGA Jo�l dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 12/01/2006, 10h55

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