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] message dialog box <-> fenetre


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [MFC] message dialog box <-> fenetre
    Salut
    Je suis sur un projet sous VC++6.0 de type MDI qui manipule des images. La fenetre principale affiche une image et j'ouvre une dialog box flottante (non modal) qui donne accès à des outils de traitement sur l'image.
    En fait je voudrais récupérer le message "l'utilisateur a cliqué sur tel bouton de la dialog box" dans mon fichier CDoc. Avec une dialog box modal c'est facile, il suffit de la lancer avec DoModal() et de tester juste après la réponse de l'utilisateur avec un truc du style if (dlg.DoModal()==IDOK){...}. La, pas moyen d'utiliser ça car je veux une non modal mais je veux quand même récupérer la réponse de l'utilisateur.
    Je créé la dialogbox comme ca :

    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
    CMonDoc::CMonDoc()
    {	image=0;
    	m_ZoomFactor=1;
    	m_tool=0;
    /*construction de la dialog a l'intit*/
    	m_MaDlg = new MaDlg(NULL);
    	m_MaDlg->Create(Dlg::IDD,NULL);
    }
     
    /*J'affiche la dialog*/
    void CMonDoc::OnButtonClicked() 
    {
    	if (image==NULL) return;
    	m_MaDlg->ShowWindow(SW_SHOW);
    }

    Sujet déplacé par BigBoomShakala depuis la section C++

  2. #2
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Je crois qu'un modérateur devra t'aider à déplacer ton sujet sur le forum VC++.

    A++
    OS:Win 2000 Pro, WIN XP
    SGBD: MS Sql Server, Oracle
    Environnement: VS.NET 2002, JBuilder
    Web: www.ndestudents.com

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Points : 159
    Points
    159
    Par défaut
    Ben dans tes fonctions d'événement liées aux boutons de ta boîte de dialogue tu change une variable de type BOOl de FALSE à TRUE et c'est en fonction de la valeur que tu sauras si elle a été appelée ou pas.

    (juste un avis rapide d'utilisateur peu expérimenté, je précise).

  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 ,
    CMonDoc est une classe derivée CDocument ?
    il serait plus judicieux d'etablir un dialogue entre la view associée au document et ta dialog .

    la creation de celle ci pouvant se faire dans la fonction OninitialUpdate de la view .
    et au moment de la creation tu stockes un pointeur de la view dans ta dialogue .
    pour eviter des pb de references croisées stock un CWnd *.
    quand tu click dans ta dialogue box tu envois un message privé a la view par l'intermediaire du pointeur stocké .
    voir faq:
    http://c.developpez.com/faq/vc/?page...CDialogRunTask
    dans cet exemple le message privé c'est WM_RUNTEST.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    CMonDoc dérive de CDocument. Je voulais envoyer un message au Document car il contient un pointeur sur l'image affichée.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/12/2005, 10h43
  2. [MFC] Débutant | Grille dans dialog Box
    Par Hannubis dans le forum MFC
    Réponses: 3
    Dernier message: 06/12/2005, 09h04
  3. Réponses: 16
    Dernier message: 29/06/2005, 20h55
  4. message entre dialog box et thread
    Par scorbo dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2004, 11h01
  5. [MFC] Menu système d'un dialog box
    Par tonyskn dans le forum MFC
    Réponses: 2
    Dernier message: 24/05/2004, 21h50

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