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 :

Problème de GetDlgItem à partir d'un contrôle subclassé


Sujet :

MFC

  1. #1
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut Problème de GetDlgItem à partir d'un contrôle subclassé
    Bonjour,

    J'ai un problème dont je ne comprends pas la cause, et que je n'arrive pas à résoudre...

    J'ai une boîte de dialogue contenant un contrôle dérivé de CEdit qui a été subclassé. Dans la méthode OnLButtonDblClk de cet edit, je voudrais récupérer le texte d'un static de la même boîte de dialogue. Pour accéder au contrôle static, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CWnd *pWnd = GetParent()->GetDlgItem(IDC_MONSTATIC)
    dans la méthode OnLButtonDblClk de mon edit, mais pWnd est toujours NULL, alors que je sais que GetParent() renvoit bien un pointeur sur ma boîte de dialogue et que celle-ci contient bien le static IDC_MONSTATIC...

    Quelqu'un a-t-il une explication ? Aurais-je (encore) mal compris le fonctionnement des contrôles subclassés ?

  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
    Salut,
    si GetDlgItem renvoie NULL c'est que l'identifiant n'existe pas.

  3. #3
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Si, si Farscape. Je t'assure qu'il existe bien !
    C'est bien pour ça que je ne comprends pas...

  4. #4
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut
    Salut,

    Essaie ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CEdit *pEdit=(CEdit*)(GetParent()->GetDlgItem(IDC_MONSTATIC))

  5. #5
    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
    Citation Envoyé par Denn's
    Salut,

    Essaie ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CEdit *pEdit=(CEdit*)(GetParent()->GetDlgItem(IDC_MONSTATIC))
    ça ne changera rien..

    si il existe il n'y a pas 36 solutions ,c'est que ton parent n'est pas bon.
    c'est soit l'un soit l'autre.

  6. #6
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Non, pWnd est censé être un static, pas un edit.
    Mais de toute façon, je pense que ça ne sert à rien de faire le cast puisque pWnd est NULL...

  7. #7
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut Mea culpa
    Hum !
    L'erreur venait d'une bêtise : je déclarais deux fois ma variable pWnd... Bien entendu, c'est celle qui restait à NULL qui sortait à la fin.

    Mes yeux sont souvent sélectifs et ne veulent bien voir que ce que je veux voir...

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

Discussions similaires

  1. problème état crystal à partir d'un dataset
    Par anneso108 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 16/05/2006, 16h01
  2. [PopUP][iframe] problème maj popup à partir d'une iframe
    Par fanchic29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2006, 17h34
  3. Problème sur la modification d'un contrôle
    Par auriolbeach dans le forum Access
    Réponses: 8
    Dernier message: 30/01/2006, 18h40
  4. Problème ouverture form à partir d'une var
    Par priest69 dans le forum Access
    Réponses: 1
    Dernier message: 29/11/2005, 12h21
  5. Problème lancement excel à partir d'une DLL
    Par irnbru dans le forum MFC
    Réponses: 8
    Dernier message: 03/11/2005, 12h00

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