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 :

Dialog box vide


Sujet :

MFC

  1. #1
    Membre �clair�
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juin 2006
    Messages : 245
    Par d�faut Dialog box vide
    Bonjour,
    Je lance � partir d'une CFormView une dialog box avec la m�thode create.
    Malheureusement, celle-ci ne charge pas le texte que je lui demande d'afficher...

    Pkoi donc ?

    Voici le code de l'appel
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	CDlgTestEnCours *pDlg = new CDlgTestEnCours(this);
    	pDlg->Create(CDlgTestEnCours::IDD,this);
    	if (compte.type_test == 0){
    		pDlg->m_StrTest="Test d'un masque en cours";
    	}else if(compte.type_test == 1){
    		pDlg->m_StrTest="Test de la soupape en cours";
    	}else if(compte.type_test == 2){
    		pDlg->m_StrTest="Test de la stabilité du détendeur en cours";
    	}
    	pDlg->ShowWindow(SW_SHOW);
    et le code de la dialogbox en question :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    BOOL CDlgTestEnCours::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    	/*if (compte.type_test == 0){
    		m_StrTest = "Test d'un masque en cours";
    	}else if (compte.type_test == 1){
    		m_StrTest = "Test de la soupape tarée en cours";
    	}else if (compte.type_test == 2){
    		m_StrTest = "Test de la stabilité du détendeur";
    	}*/
    	UpdateData(FALSE);
    	return TRUE;
    }
    Pourtant, j'avais pens� bien faire en utilisant la m�thode d�crite ici pour cr�er les contr�les avant d'afficher la bo�te de dialogue...

  2. #2
    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
    fait tes affectations avant le create de la dialogue.

  3. #3
    Membre �clair�
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juin 2006
    Messages : 245
    Par d�faut
    Merci.
    J'ai test�, et ca ne marche toujours pas.
    J'ai donc mis les affectations avant le Create et rien ne s'affiche ...

    D'ailleurs, apr�s avoir test�, j'ai chang� les caract�ristiques du contr�le � laquelle la variable m_StrTest correspond.
    J'ai mis Transparent = "False" alors qu'avant c'�tait "True"
    Normalement, le texte devrait appara�tre en noir dans un rectangle blanc alors que le reste de la fen�tre est en gris basique ...
    Et RIEN ne s'affiche, m�me pas le rectangle blanc...

    J'avoue ne rien y comprendre.

  4. #4
    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
    tu rentres dans OnInitDialog ?
    (� verifier avec un point d'arret en debug)

  5. #5
    Membre �clair�
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juin 2006
    Messages : 245
    Par d�faut
    J'ai v�rifi�, et Oui, il rentre bien dedans.
    le contr�le m_StrTest vaut bien la bonne valeur ...
    C'est donc un probl�me d'affichage, non ?

  6. #6
    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
    tu es s�r que ta variable est bien associ�e au contr�le ?
    montre le code de ton dodataexchange.

  7. #7
    Membre �clair�
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juin 2006
    Messages : 245
    Par d�faut
    Je n'ai qu'un seul contr�le, le texte � afficher qui se nomme : IDC_TEST
    Voici le code de mon DoDataExchange :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    void CDlgTestEnCours::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	DDX_Text(pDX, IDC_TEST, m_StrTest);
    }

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Par d�faut
    Bonjour

    Dans ton init dialog ce n'est pas plutot un updatedata(TRUE) qu'il te faudrait ???

    Cordialement!;

  9. #9
    Membre �clair�
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Directeur de projet
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juin 2006
    Messages : 245
    Par d�faut
    Il me semble que non, � moins que je n'ai rien compris aux UpdateData();
    D'ailleurs, je viens de tester, ca ne change rien...
    Toujours pas d'affichage

  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
    salut,
    poutant tu dois te planter quelque part:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    CDlgTest *pDlg;
        pDlg = new CDlgTest(this);
        pDlg->m_test="essai";
        pDlg->Create(CDlgTest ::IDD,this);
        pDlg->ShowWindow(SW_SHOW);
    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
     
    void CDlgTest::DoDataExchange(CDataExchange* pDX)
    {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CDlgTest)
        DDX_Text(pDX, IDC_EDIT1, m_test);
        //}}AFX_DATA_MAP
    }
    BEGIN_MESSAGE_MAP(CDlgTest, CDialog)
        //{{AFX_MSG_MAP(CDlgTest)
        //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    /////////////////////////////////////////////////////////////////////////////
    // CDlgTest message handlers
     
    BOOL CDlgTest::OnInitDialog() 
    {
        CDialog::OnInitDialog();
     
        // TODO: Add extra initialization here
        UpdateData(FALSE);
        return TRUE;  // return TRUE unless you set the focus to a control
                      // EXCEPTION: OCX Property Pages should return FALSE
    }
    fonctionne sans probl�mes ....

Discussions similaires

  1. Pop-up d'une dialog box a partir d'un bouton
    Par bobbyjack dans le forum MFC
    R�ponses: 21
    Dernier message: 13/09/2005, 15h32
  2. Insertion dialog box dans feuille SDI
    Par Tom Joad dans le forum MFC
    R�ponses: 3
    Dernier message: 12/04/2004, 00h04
  3. Lien MainFrame / Dialog Box
    Par Alexonthenet dans le forum MFC
    R�ponses: 11
    Dernier message: 10/03/2004, 20h06
  4. comment faire un Dialog Box demi-transparent?
    Par Zorgz dans le forum MFC
    R�ponses: 3
    Dernier message: 08/01/2004, 14h02
  5. [Win32]Open/Save Dialog Box
    Par Chance666 dans le forum Windows
    R�ponses: 2
    Dernier message: 07/01/2004, 16h47

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