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] un CDialog qui disparait tout seul.


Sujet :

MFC

  1. #1
    tut
    tut est déconnecté
    Membre averti
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Points : 394
    Points
    394
    Par défaut [MFC] un CDialog qui disparait tout seul.
    Bonjour !
    Voila mon problème :
    mon interface contient une classe dérivée de CDialog, créée en mode "Child", c'est à dire qu'elle est inclue dans une CDialog mère.
    La CDialog "child" contient des composants graphiques (edit, label, button) créés dynamiquement, avec des new XXX() + CreateEx() + ShowWindow() etc...
    Jusque là, tout va bien.
    Récemment, j'ai voulu ajouter des CheckBox dans les composants créés dynamiquement. Et, chose étrange, lorsque je clique sur un check box, la fenêtre qui contient les composants disparaît, tout simplement.
    Le logiciel ne plante pas, il continue de s'exécuter normalement.
    J'ai essayé de spécialiser OnClose() et ShowWindow() pour voir ce qui se passait, mais la fenêtre disparaît sans que ces méthodes ne soient appelées.
    Ce n'est pas non plus un problème de MoveWindow() avec des paramètres abberrants, je les ai tracé pour être sûr.
    Je n'ai ce comportement qu'avec les check box, avec les label et les edit, tout va bien.

    Je ne vois vraiment plus où chercher ce qui se passe....

  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, (ça faisait un bail )
    tu as regardé avec spy pour voir si la fenetre est vraiment detruite ?
    autre aspect : attention au numero d'id de la fenetre et ceux des controles de la fenetre mere..

  3. #3
    tut
    tut est déconnecté
    Membre averti
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Points : 394
    Points
    394
    Par défaut
    Salut Farscape ! :-)
    Oui, j'ai vérifié, la fenêtre n'est pas détruite.
    La solution (mauvaise) que j'ai trouvé pour l'instant est d'appeler le ShowWindow(TRUE) de la Dialog fille, dans le OnPaint() de la dialog mère. Ca marche. Mais ça ne me plait pas : cela corrige les symptomes, mais pas la cause.

    Qu'est-ce que tu veux dire à propos des ID ?
    je vais chercher dans cette direction aussi...
    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
    re,
    hé bien tu n'as pas un contrôle portant le meme identifiant que ta fenetre fille dans ta dialogue mére ?

  5. #5
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 264
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    2
    Par défaut
    Ou bien le même numéro.
    Par exemple (dans le resource.h):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #define IDC_BUTTON_START                     1034
    [...]
    #define IDC_EDIT_TEST                   1034
    Ne sait-on jamais

Discussions similaires

  1. Process qui disparait tout seul
    Par metalcoyote dans le forum Administration système
    Réponses: 2
    Dernier message: 01/04/2009, 18h41
  2. Process qui disparait tout seul
    Par metalcoyote dans le forum Linux
    Réponses: 2
    Dernier message: 01/04/2009, 18h41
  3. Affectation qui disparait toute seule
    Par talrashha dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/08/2008, 09h38
  4. [Swing] JPanel avec sa JScrollBar qui scrolle toute seule
    Par chcoust dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/11/2006, 14h37
  5. pc portable qui reboot tout seul
    Par pepper18 dans le forum Windows XP
    Réponses: 23
    Dernier message: 24/06/2006, 14h51

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