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 :

Boite de dialogue non modale [FAQ]


Sujet :

MFC

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Boite de dialogue non modale
    bonjour....
    j'ai consulté la faq mais j'ai rien trouvé qui puisse m'aider...
    en fait je veux crée un boite de dialogue non modale mais je veux récupérer
    une donnée(chaine de caractères par exemple)et détruire l'objet créé après
    fermeture de la boite de dialogue(dans la faq ya juste comment créer la boite
    et l'afficher)........
    comment puis je faire....
    et aussi comment faire pour ne pas créer plusieurs
    boite de dialogues en même temps

    merci d'avance...

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu as mal regardé :
    création d'un dialogue non modale:
    http://c.developpez.com/faq/vc/?page...CreateModeless
    le problème de récupération d'une chaine est un peu délicat,
    le mieux c'est que ce soit la dialogue elle même qui effectue l'opération qui peut être:
    - stockage de l'info dans la classe d'application (dérivée de CWinApp) et accessible par AfxGetApp().
    envoi d'un message à une fenêtre, par exemple un message privé :
    http://c.developpez.com/faq/vc/?page...PrivateMessage

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    ah oui j'avais pas bien lu...
    et pour ne pas avoir plusieurs fois la même boite de dialogue non modale??
    c-à-d que si je crée une boite de dialogue non modale en réponse à un clic...je voudrai que la boite ne s'affiche pas un 2e fois si je reclic
    encore merci....

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    le mieux étant de rechercher la fenêtre.
    pour une CDialog nommée CDlgTest:
    il faudra d"abord rajouter les macros IMPLEMENT_DYNCREATE pour la reconnaissance de signature:
    le .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class CDlgTest : public CDialog
    {
    // Construction
    public:
        DECLARE_DYNCREATE(CDlgTest)
        CDlgTest(CWnd* pParent = NULL);   // standard constructor
    /....
    le .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /////////////////////////////////////////////////////////////////////////////
    // CDlgTest dialog
     
    IMPLEMENT_DYNCREATE(CDlgTest, CDialog)
    CDlgTest::CDlgTest(CWnd* pParent /*=NULL*/)
        : CDialog(CDlgTest::IDD, pParent)
    {
        //{{AFX_DATA_INIT(CDlgTest)
        m_test = _T("");
        //}}AFX_DATA_INIT
    }
    l'appel de la dialogue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        CDlgTest *pDlg;
        pDlg = new CDlgTest();
        pDlg->Create(CDlgTest ::IDD,AfxGetMainWnd());
        pDlg->ShowWindow(SW_SHOW);
    sa recherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CWnd* pChild;        
        pChild = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST);
        while (pChild != NULL)
        {
            if(pChild->IsKindOf(RUNTIME_CLASS(CDlgTest)))
            {
                TRACE("\nfind:%x,%x",pChild,pChild->m_hWnd);
                break;
            }
            pChild = pChild->GetWindow(GW_HWNDNEXT);
        }

  5. #5
    Membre à l'essai
    Étudiant
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Merci beaucoup
    Merci beaucoup pour le code....
    ça marche très bien
    ...encore merci

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

Discussions similaires

  1. [XL-2010] Boite de dialogue non modale propre à sa feuille
    Par RicardoBxl dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 29/11/2010, 18h08
  2. Réponses: 11
    Dernier message: 06/05/2008, 17h53
  3. Afficher/Cacher Boite de dialogue non modale
    Par coco21 dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2007, 10h08
  4. Boite de dialogue non modale
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 25/12/2006, 21h46
  5. dimension boite de dialogue non modale
    Par afan dans le forum MFC
    Réponses: 25
    Dernier message: 21/10/2004, 13h35

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