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] acces a des composants


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 66
    Points
    66
    Par défaut [MFC] acces a des composants
    salut,

    J'ai des composants nommé par exemple
    composant1, composant2, composant3, etc ...

    et je voudrai pouvoir y acceder par un boucle
    for et faire un truc simple du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For (i=0, i<nb_composant, i++)
          composant["i"]->ShowWindow[TRUE]
    Sous delphi, y'a une methode FindComponent, mais
    sous visual je c pas faire !

    merci d'avance

    Arnaud

  2. #2
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 102
    Points : 111
    Points
    111
    Par défaut
    En placant les "composants" dans un tableau ... :
    501darts

    Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur.

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    si tes composants sont des fenetres ,
    tu fais de la meme maniere un tableau de pointeur sur fenetres
    et tu retrouves la meme chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CArray<CWnd *,CWnd *> m_arrayWnd;
    m_arrayWnd.Add(GetDlgItem(IDC_TOTO)));
    // etc....
    for(int i=0;i<m_arrayWnd.GetSize();i++)
    {
             m_arrayWnd[i]->ShowWindow(SW_SHOW);
    }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 66
    Points
    66
    Par défaut
    non, tu voit, par exemple
    t'a plein de TEdit qui ont tous le meme nom
    exepter la fin (avec des chiffres successif)

    et pour acceder a leur methode d'un seul coup
    avec une simple boucle for, il doit y avoir une
    solution ...

    Arnaud

  5. #5
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    il me semble avoir repondu un tableau de pointeur sur une classe parent commune ici la classe CWnd .
    ce qui est une application directe des bases du C++.....

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 66
    Points
    66
    Par défaut
    c pas exactement sa, voila ce que je fait en Delphi
    et je veut faire la meme chose :

    (c'est assez comporehensible, meme quand on connait
    pas la syntaxe exact du delphi)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For I:=1 to Max do 
         TEdit(FindComponent('Edit'+IntToStr(I))).visible := TRUE;
    Comme sa m'evite MAX ligne pour rendre visible mes TEdit,
    et c'est plus générique

    Arnaud

  7. #7
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    oui ,mais la tu est sur le forum VC et meme si je comprends le code de delphi montre .
    tu peux pas faire exactement pareil ,
    ma methode est toujours valable mais ici il faut raisonner en ID de controle.
    donc c'est faisable pour une plage d'id de fenêtres consécutifs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int i=IDC_TOTO;i<IDC_TOTO+100;i++)
    {
            GetDlgItem(i)->ShowWindow(SW_SHOW);
    }

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 62
    Points : 66
    Points
    66
    Par défaut
    oki, sa a l'air d'etre sa !!!
    sa change rien pour moi de raisonner avec les IDC,
    ils ont des noms consecutifs aussi.

    Merci beaucoup,

    Arnaud

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/11/2010, 14h06
  2. Réponses: 3
    Dernier message: 10/10/2005, 15h53
  3. Réponses: 2
    Dernier message: 14/06/2005, 14h00
  4. Optimisation temps d'accès Bdd des composants ADO
    Par Creenshaw dans le forum Bases de données
    Réponses: 14
    Dernier message: 07/06/2005, 17h09
  5. [JTabbedPane] Accès à des composants dynamiques
    Par SamRay1024 dans le forum Composants
    Réponses: 8
    Dernier message: 26/05/2004, 13h04

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