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] Passer d'une fenetre Domodal en ShowWindow


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Par défaut [MFC] Passer d'une fenetre Domodal en ShowWindow
    Bonjours a tous,

    J'ai un souci sur certain pc portable uniquement ...

    sous un bouton j'affiche une fenetre ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( m_pCourbeFrime->DoModal() == IDOK )
    j'instancie ma CDialog dans mon constructeur de cette facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_pCourbeFrime	= new CSaisieNouvelleCourbe( "Frime", "Bearing travel (mm)", "Load (N)" );
    Sur la plupart des machines ce code fonctionne parfaitement.
    Par contre sur 2 pc portable la fonction DoModal me renvoi -1 (erreur de creation)

    j'ai voulu remplacer ce DoModal par ce que j'ai trouvé dans la FAQ, c'est a dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    m_pCourbeFrime->Create(CSaisieNouvelleCourbe ::IDD,this);
    m_pCourbeFrime->ShowWindow(SW_SHOW);
    Ma fenetre s'affiche (je n'ai pas tester sur les portable en question pour le moment)
    Mais je ne sais pas comment intercepter les click sur Ok ou Cancel de cette boite de dialog hors de la classe de ma CDialog.

    Je precise que j'instancie cette classe plusieurs fois dans le programe avec differrente données donc utiliser les OnOk() et OnCancel() de la CDialog est exclu.

    Pour resumer comment puis je remplacer cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( m_pCourbeFrime->DoModal() == IDOK )
    { //.......
    }
    Ou mieux encore ^^ comment faire fonctionner le code d'origine sur mes pc à problème !

    N'hesitez pas a me demander plus d'explication, je n'ai pas voulu ecrire 300 lignes sur ce pb ^^

    Merci d'avance !

  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,
    c'est tout le programme qui ne fonctionne pas correctement sur ces portables ou uniquement cette fenêtre ?
    tu utilises des activex sur cette fenêtre?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Par défaut
    Ca c'est de la rapidité !!! Merci

    Alors l'appli fonctionne c'est juste le click sur le bouton pour afficher, ca n'affiche rien mais l'appli tourne toujours.

    Sur cette dialog j'ai un ChartFx et un MsFlexGrid ensuite ce sont juste quelques boutons et CheckBox

    Dans mon .h j'ai ces controles particuliers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CListCtrl m_ListPoint;
    CGrid	m_grid;
    CWnd m_ChartFX;
    IChartFXPtr m_pChartFX;
    Le CGrid est
    class CGrid : public CMSFlexGrid

  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
    Par défaut
    re,
    c'est ton activex ChartFx qui n'est pas distribué et/ou enregistré sur ces portables.
    pour enregistrer regsvr32 namocx.ocx

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Par défaut
    Oui c'est fait, je fais un package d'installation avec Installshield et j'enregistre cette fameuse dll à l'installation.

    "Regsvr32 CFX4032.ocx"

    Ce ChartFx est utilisé a d'autres endroit dans l'appli et fonctionne tres bien ...
    Le pb n'apparait que sur ces fameux boutons (le DoModal de ma CDialog)

    Bien vu, mais ce n'est pas ca

  6. #6
    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
    de toute façon ça doit tourner autour de ça :
    un activex pas enregistré,
    des dll systémes pas a jour : http://c.developpez.com/faq/vc/?page...stributeMFCApp

    vérifie quand même que les composants soient bien enregistrés...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/01/2007, 16h45
  2. [MFC] suppression d'une fenêtre
    Par kabil.cpp dans le forum MFC
    Réponses: 5
    Dernier message: 03/05/2006, 15h16
  3. [MFC] Position d'une fenetre
    Par ni0urk dans le forum MFC
    Réponses: 3
    Dernier message: 24/11/2005, 17h27
  4. Réponses: 7
    Dernier message: 09/08/2005, 13h47
  5. Réponses: 3
    Dernier message: 03/02/2004, 17h34

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