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

C++/CLI Discussion :

Accès aux ressources d'un CDialog à partir d'une classe quelconque


Sujet :

C++/CLI

  1. #1
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Accès aux ressources d'un CDialog à partir d'une classe quelconque
    Bonjour,

    Je voudrais pouvoir accéder aux objets (CStatic ou CEdit par exemple) d'une boite de dialogue à partir d'une classe quelconque...
    Pour être sur d'être claire, j'illustre :
    J'ai mon instance de programme qui appelle une boite de dialogue (CMain).
    CMain ouvre une autre boite de dialogue (CSecond) et une classe du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Class CToto {
    private :
         int i = 2;
    public :
         void printi();
    }
    Et je voudrais que printi() affiche la valeur de i sur un CStatic de CSecond.
    Je pensais pour ça définir un pointeur sur CSecond dans l'instance de programme et y accéder dans CToto grâce à AfxGetApp() dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AfxGetApp->pointeur sur CSecond->GetDlgItem(<ID du Cstatic>)->SetWindowText(i)
    Je vous passe les static_cast ainsi que la conversion de i en texte pour la lisibilité ...
    Et là ça compile bien, mais à l'exécution, c'est le drame, il refuse d'accéder au pointeur sur CSecond or une autre CDialog le fait sans problème...
    Je me demande donc comment je peux faire pour que CToto puisse accéder aux ressources de CSecond.
    Bon j'espère que j'ai été assez clair, et pas trop long...

    Je vous dis donc " A votre bon coeur messieurs, dames... " et merci.

  2. #2
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bon je vais m'auto répondre... j'aurais pu éditer, mais ça n'aurait pas eu grand sens...(déjà que...)

    Enfin bref, il semblerait que la fonction AfxGetApp() ne renvoie pas la bonne adresse (l'adresse de l'instance), si on l'appelle à partir la classe CToto. (Il est vrai que je n'ai pas trop consulté l'aide sur cette fonction, persuadé qu'elle fonctionnait comme je pensais...)

    La méthode que j'ai trouvée consiste donc à fournir à CToto l'adresse de l'instance en argument, à la création par exemple (donc par le constructeur), puis de l'affecter à un pointeur interne à la classe.

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

Discussions similaires

  1. Contrôle d'accès aux ressource web avec TOMCAT
    Par yashiro dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 03/11/2008, 15h30
  2. Problème d'acces aux ressources
    Par Paskalin dans le forum Windows XP
    Réponses: 4
    Dernier message: 10/10/2008, 19h35
  3. Accès aux ressources
    Par flzox dans le forum Visual Studio
    Réponses: 8
    Dernier message: 11/09/2008, 10h24
  4. [WPF] Pb accès aux ressources
    Par hepsilonz dans le forum Framework .NET
    Réponses: 1
    Dernier message: 13/01/2007, 01h13
  5. Accès aux ressources
    Par salber dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 10/11/2006, 21h59

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