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 :

[MFC] variables globales en MDI


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Par défaut [MFC] variables globales en MDI
    Bonjour,

    Je voudrais definir des variables globales dans un projet MDI, il s'agit de couleurs. Du genre :

    COLORREF mycolor = RGB(34,50,222);

    Je voudrais savoir dans quel fichier je dois placer cette déclaration pour que la valeur mycolor soit accessible de toutes les classes.

    Faut-il utiliser #define, #ifdefine, ou autre.... car si je met cette déclaration dans stdafx il y a des erreures comme quoi la variables existe déjà et RGB n'est pas accessible....

  2. #2
    kor
    kor est déconnecté
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Par défaut
    Si tu as bcp de variables pourquoi tu n'utilises pas un singleton?

  3. #3
    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 plusieurs solutions:
    1)declaration globales dans un header commun à tout les sources.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifdef  _DefColor
        COLORREF Bkcolor;
    #else
     extern  COLORREF Bkcolor;
    #endif
    dans un source celui de la classe d'application par exemple:
    #define _DefColor
    et initialisation des variables dans initinstance ou le constructeur de la classe App ou ailleur au choix mais une seule fois.
    2) tout definir dans la classe application sous forme de données membres
    de la classe ,initialisation dans le constructeur ou initinstance par exemple
    rajouter des fonctions assesseurs et modificateurs pour ces variables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       ex: COLORREF CMyApp::GetBkColor(){ return m_BkColor;}
             void CMyApp::SetBkColor(COLORREF clr){ m_BkColor=clr;}
    acces pour les autres classes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((CMyApp *)AfxGetApp())->GetBkColor().

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Par défaut
    Ok merci pour toutes c'est reponses.

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

Discussions similaires

  1. Variables globales dans appli MDI
    Par sp2308 dans le forum Débuter
    Réponses: 4
    Dernier message: 26/06/2009, 22h05
  2. variable globale dans une dll MFC
    Par loup_precaire dans le forum MFC
    Réponses: 4
    Dernier message: 12/09/2006, 11h22
  3. Utilisation de variables globales en MFC
    Par beb30 dans le forum MFC
    Réponses: 6
    Dernier message: 15/05/2006, 23h57
  4. mdi et variable globale
    Par mm2405 dans le forum MFC
    Réponses: 2
    Dernier message: 20/07/2005, 08h39
  5. [MFC] Variable global et DLL d'extension
    Par Capnader dans le forum MFC
    Réponses: 2
    Dernier message: 31/03/2005, 11h33

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