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] surcharger une classe


Sujet :

MFC

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 47
    Points
    47
    Par défaut [MFC] surcharger une classe
    bonjour,
    j'ai creer dans un dialog box, une fenetre dont j'ai remplacer la methode par une methode personnelle. Je suis passé sous MFC et je voudrais faire la meme chose, je cree donc une nouvelle methode associée a ma fenetre, mais je ne sais pas comment traiter les messages (avoir acces a ses messages).
    merci de votre aide

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Les questions MFC, c'est sur le forum VC++. Je déplace.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    J'ai du mal a comprendre ton truc :-) Tu veux capter un message d'un dialog box que tu as cree??

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 47
    Points
    47
    Par défaut
    je voudrais savoir reimplementer la classe d'une fenetre pour pouvoir traiter les messages provenant des keydown. mais je ne sais pas comment faire cela en MFC (je l'ai deja fait en dialog box et ca marchait).

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Via le wizard de Visual tu peux le faire, a moins que tu veuilles taper le code toi même?

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 47
    Points
    47
    Par défaut
    enfin le code je l'ai deja tapé mais je vois pas ou je dois ajouter les events keydown et le focus par exemple(ici il ne gere que les clicked)

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Voila ce qui est genere pour Key Down d'une dialog:

    Dans le point h de ta dialog:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public:
    	afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
    Dans le cpp de ta dialog:

    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
     
    BEGIN_MESSAGE_MAP(CTaDlg, CDialog)
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	//}}AFX_MSG_MAP
    	ON_WM_KEYDOWN()   //<----------
    END_MESSAGE_MAP()
     
     
    void CTaDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
    	// TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels
     
    	CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
    }

    Va la j'espere que ca pourra t'aider

  8. #8
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut
    MFC création d’une boite de dialogue.

    CREATION :
    Cliquer sur l’onglet RessourceView, développer l’arborescence et cliquer avec le bouton droit sur le dossier Dialog. Un menu contextuel s’affiche, choisir Inset Dialog. Une nouvelle boite de dialog apparaît affecté d’un ID par défault. Pour changer celui-ci clic droit dessus puis Proprièté (tout en majuscule sans espace).

    AJOUT DES CONTOLS :
    La palette controls permet de sélectionner les controles à ajouter. Si elle n’apparaît pas cliquez avec le bouton droit sur la barre des menus et sélectionnez Controls dans le menu contextuel.

    Créer vos controls,
    Vous pouvez en sélectionner plusieurs avec Maj.
    Tester la boite de dialog en appuyant sur Ctrl+t.
    Séquence de touches Tab (focus) des controls. En appuyant sur Ctrl+D
    Si il y a un control statique texte le sélectionner avant le controls actif.
    Pour associer un bouton a un autre control le sélection juste avant dans l’ordre de sélection.

    PROGRAMMATION DE LA BOITE DE DIALOG

    Il faut définir une classe associée, a l’aide de Class Wizard.
    Le curseur étant positionné sur la boite de dialog clique droit et sélèctionner ClassWizard dans le menu contextuel.

    Il vous demande si vous voulez associer une nouvelle ressource à une nouvelle Class. Donner un Nom puis Ok.

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 47
    Points
    47
    Par défaut
    oui cela je savais mais le probleme c'est que cela va gerer les keydown sur toute la dialog box alors que je ne veux les traiter que pour un seul group box.

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    je pense pas que ca existe pour un group box.....

Discussions similaires

  1. [MFC][Debutant] Une classe perso de CEdit
    Par kiroukou dans le forum MFC
    Réponses: 6
    Dernier message: 21/06/2005, 15h07
  2. [MFC]creer une classe derivé de CWinThread
    Par psyjess dans le forum MFC
    Réponses: 2
    Dernier message: 18/03/2005, 14h23
  3. Réponses: 13
    Dernier message: 02/02/2005, 00h21
  4. [MFC] Créer dynamiquement une classe
    Par vanitom dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2004, 13h23
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

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