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] communication entre onglets d'une fen�tre


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut [MFC] communication entre onglets d'une fen�tre
    slt,

    j'ai un soucis. j'ai une bo�te de dialogue avec 3 onglets.
    sur chaque onglet on a des ListCtrl, ListBox, CEdit et autres CButton...
    voil� mon soucis (je ne m'en �tais pas pr�occup� avant, andouille comme je suis ):
    il faudrait que chaque onglet puisse �crire dans les ListBox et autres des autres onglets.
    une premi�re solution (pourrie je trouve) pourrais consister � d�finir les �l�ments d'affichage en global?

    donc ma question c'est : comment faire communiquer proporement les diff�rents onglets pour pouvoir afficher des choses dans l'un quand on agit dans l'autre?

  2. #2
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    j'ai mat� la FAQ (Comment faire pour acc�der aux contr�les d�une dialogue � partir d�une autre dialogue ?). dans mon cas, les 3 onglets sont cr��s � l'ex�c du prog, yan a pas un parent de l'autre.

    ji pit�tre une ID pour r�soudre mon probl�me, mais je ne sais pas comment la mettre en oeuvre. explication :

    j'ai un objet globale "GLO" qui contient les donn�es � afficher (quel que soit l'onglet). il faudrait que lorsque je clic sur un onglet (focus?) le prog rafraichisse l'affichage de cet onglet (reset de tous les affichages et r��criture � partir du GLO).

    comment que c'est que je peux faire �a? c'est une bonne solution? qui dit mieux? les jeux sont fait, rien ne va plus

    merci du coup de main

  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,
    mais le parent de la dialog c'est l'onglet .
    apres selectionner l'onglet et recuperer le pointeur de la fenetre:
    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
     
    TCITEM item;
    CWnd* pWnd;
    item.mask = TCIF_PARAM;
     
    TabCtrl.GetItem(TabCtrl.GetCurSel(), &item);
    pWnd = reinterpret_cast<CWnd*> (item.lParam);
    ASSERT_VALID(pWnd);
    pWnd->ShowWindow(SW_HIDE);
     
    TabCtrl.SetCurSel(iIndex);
    TabCtrl.GetItem(iIndex, &item);
    pWnd = reinterpret_cast<CWnd*> (item.lParam);
    ASSERT_VALID(pWnd);
    pWnd->ShowWindow(SW_SHOW);

  4. #4
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    le soucis c'est que j'ai 3 dialog, chacune dans un onglet.
    2 d'entre elles comportent un boutons OPEN FILE.

    1er onglet : si j'ouvre un fichier, il est lu (donn�es stock�es dans GLO) et des donn�es sont affich�es ds la dialog (no problemo)

    2� onglet : si j'ouvre un fichier, il est lu (donn�es stock�es dans GLO) et des donn�es sont affich�es ds la dialog (no problemo) + des donn�es doivent �tre affich�es dans le 1er onglet (problemo)

    je coince. je ne sais pas comment faire pour :
    1) soit la dialog 2 modifie l'affichage de la dialog 1
    2) soit lorsque je clik sur l'onglet 1 (le focus sur la dialog1), il y a rafraissimement de tous les affichages

  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
    Par d�faut
    salut
    Ce qui est pas mal au niveau de la classe parent CTabCtrl c�est tr�s judicieux au moment de la cr�ation des diff�rentes dialog de garder dans un tableau la liste des Dialogs.
    Apres au niveau des dialogs on r�cup�re le parent CtabCtrl on acc�de donc au tableau qui contient la liste des dialogs . et la tu fais ton boulot
    No problemo non ?

  6. #6
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    ou� au d�but, j'avais pas pr�vu le coup des communicactions entre dialog (j'ai d�but� VC++ en avril), jv� voir pour cette histoire de parent. c triste de laisser mes dialog orphelines

    je vais voir �a demain. l� j'en ai ras le bol du boulot, jv� rentrer � la maison

    merci

  7. #7
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    on acc�de au parent d'une Dialog par l'attribut
    :

    peux-tu me dire si ma d�marche est la bonne?

    Les dialog des onglets --> classes CTab1, CTab2 et CTab3 (d�riv dialog)
    le TabCtrl --> classe CMyTabCtrl (d�riv CTabCtrl)

    acc�der � une ListBox d'un CTab1 � partir d'un CTab2 :
    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
     
    //dans la classe CTab2, un truc du genre
    CListBox * maListBox;
    CTab1 * dlg;
    CMyTabCtrl * pere;
     
    // je récupère le pointeur sur le CMyTabCtrl parent de mes dialog
    // (pas indispensable, mais ça facilite la lecture puisque je dois caster en CMyTabCtrl)
    pere = (CMyCtrlTab *)m_pParentWnd;
     
    // je récupère le pointeur de la fenêtre CTab1 qui m'intéresse
    // (getTabPages(index) relatif à attribut CDialog m_tabPages[3] du CMyTabCtrl qui stocke les 3 dialog de type CTab1, 2 et 3)
    dlg   = (CTab1 *)(pere->getTabPages(0)); // je caste en CTab1
     
    // je récupère le pointeur de la liste box du CTab1 que je veux modifier
    maListBox = dlg->getListBox(); //
     
    // je peux faire ma modif dans la list box du CTab1 à partir du CTab2
    maListBox->ResetContent();
    qu'est-ce t'en pense :

  8. #8
    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, dans l'id�e c'est �a .
    le parent peut etre obtenu par GetParent().
    Ps: tu m'a fais peur avec ta tetine

  9. #9
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    Citation Envoy� par farscape
    Ps: tu m'a fais peur avec ta tetine


    yeah! sinon �a marche nickel.
    par contre je ne comprend pas un truc.
    �a marche avec GetParent(), mais pas avec m_pParentWnd.

  10. #10
    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
    re,
    elle sort d'ou cette variable ?
    a mon avis mauvaise affectation � la creation de la dialogue.

  11. #11
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    CWnd * m_pParentWnd

    c'est un attribut de la classe Dialog. je pensais que ct un pointeur sur le parent.

  12. #12
    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
    tout depend comment tu as cr�e tes dialogues . tu as fournis le parent dans le constructeur ?

  13. #13
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    no comment

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

Discussions similaires

  1. [MFC] Communication entre une CDialog et une CFormview
    Par julien.nasser dans le forum MFC
    R�ponses: 8
    Dernier message: 06/07/2006, 14h32
  2. [MFC] Communication entre CDialog
    Par Bmagic dans le forum MFC
    R�ponses: 2
    Dernier message: 27/06/2006, 17h26
  3. R�ponses: 3
    Dernier message: 22/11/2005, 11h12
  4. R�ponses: 2
    Dernier message: 08/08/2005, 21h30
  5. R�ponses: 6
    Dernier message: 28/02/2004, 09h19

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