begin process at 2012 02 12 13:34:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

CDialog et CView


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

CDialog et CView

lundi 20 février 2006 à 12:40:16 | CDialog et CView

GEDEON

Bonjour à tous....

    J'ai un CDialog ouvert en DoModal() par un CView... j'aimerais savoir si je peu créer un évenement dans mon CDialog qui redéssinerais le CView....(tout en laissant le CDialog ouvert)

Merci de votre bonté divine....

Gedeon
lundi 20 février 2006 à 22:41:09 | Re : CDialog et CView

AlexN

Réponse acceptée !
1) CView.h

Dans la MESSAGE_MAP de ta classe CView, tu déclares un nouveau message, auquel tu associes le nom de son gestionnaire (handler)

BEGIN_MESSAGE_MAP(CShapesView, CView)
    ON_MESSAGE(WM_USER_CHANGE_OBJECT_PROPERTIES, OnChangeObjectProps)
    //{{AFX_MSG_MAP(CShapesView)
    ON_WM_LBUTTONDOWN()
...
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

2) CView.c

Dans la liste des gestionnaires de messages de ta classe CView, tu déclares le gestionnaire du nouveau message

// Generated message map functions
protected:
    //{{AFX_MSG(CShapesView)
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
...
    //}}AFX_MSG
    
afx_msg LRESULT OnChangeObjectProps(WPARAM wParam, LPARAM lParam);
    DECLARE_MESSAGE_MAP()
};


3) CView.c

Tu construit ton gestionnaire de message pour que la CView modifie ses membres, ou leur communique un signal

LRESULT CMyView::OnChangeObjectProps(WPARAM, LPARAM)
{
    // The user-defined WM_USER_CHANGE_OBJECT_PROPS message is sent
    // by the modal CModalShapePropSheet when the user chooses Apply Now,
    // or by the modeless CModelessShapePropSheet when the user
    // changes any setting in a property page.

     // Appliquer les modifications aux membres de la CView
     .....

    GetDocument()->SetModifiedFlag();
    GetDocument()->UpdateAllViews(NULL);
    return 0;
}

4)  CDialog.c

Dans ta classe CDialog, tu construit un bouton que tu relies à la fonction OnApply
qui va elle envoyer le message à la CView.

void CMyDialog::OnApply()
{
    CView* pView = ...->GetActiveView();
    pView->SendMessage(WM_USER_CHANGE_OBJECT_PROPERTIES, 0, 0);
   ....
}





Cette discussion est classée dans : cdialog, ouvert, cview


Répondre à ce message

Sujets en rapport avec ce message

pointeur sur CDialog a partir de CView [ par stremblay77 ] Bonjour Comment faire pour obtenir un pointeur sur une classe dérivée de CDialog à partir d'une classe dérivée de CView ou de CRichEditView... SVP bes CDialog dans barre des taches [ par lauce ] Voila, j'ai un p'tit probleme. j'ai récuperer le code d'une fenetre qui était fenetre principale dans une autre application. Cette fenetre est mainten ShellExecute : savoir quand le programme est ouvert [ par glipper ] Bonjour,J'ouvre à l'aide de ShellExecute() un editeur de texte et lui demande de lire un fichier, mais je voudrais savoir quand il a fini de lire le f SOS CDialog [ par GUERRIER_ABSOLU ] Bonjour. Je ne connais pas MFC; Et j'essaie d'en apprendre les rudiments pour implanter en C++ (Visual studio 6) une petite partie d'un travail dont l fichier xls ouvert avec windows.h [ par ancat ] Salut Es ce que je peux recuperer le contenu d'un tableau excel en vc++?J'arrive a recuperer le contenu d'un fichier texte mais avec excel je ne recup CDialog back color [ par indusine ] Bonjour! Je voudrais changer la couleur de l'arriere plan des fenetres dans une application MFC .Les fenetres sont dérivée de la classe CDialog.Il y a OLE Fenetre Serveur dans une fenetre client [ par funxav ] Bonjour,J'ai fait un serveur exe automation MFC (modèle Dialog).La classe qui m'intéresse dans ce serveur est un CDialog.J'ai fait un client MFC qui c Serveur SMTP Relais ouvert [ par deadbird ] J'aimerai savoir si l'un d'entre vous connais un relais SMTPouvert... dans une SDI [ par catamenia ] bonjours,Comment récupère ton la CView attaché a un CDocument dans une SDI?Je c'est que a partir de la CView on peut faire un GetDocument() pour avoir programme deja ouvert ? [ par barraq ] Salut,voila je developpe un programme, et j'aimerais empecher l'utilisateur de l'ouvrir plusieur foi...Genre quand il double clique sur l'icone du sof


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales