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èmes pour accéder à ma view...


Sujet :

MFC

  1. #1
    Membre confirmé Avatar de loupdeau
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 125
    Par défaut Problèmes pour accéder à ma view...
    Salut,

    Dans la classe CProject je crée un CMonDialog (hérité de CDialog) en lui passant en paramètre la fenetre active :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    CMDIFrameWnd* pMDI = static_cast<CMDIFrameWnd*>(static_cast<CMDIFrameWnd*>(AfxGetMainWnd())->GetActiveFrame());
     
    monDialog = new CMonDialog(pMDI);
    dans la classe CMonDialog on a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void CNewChangeListDlg::OnOK() 
    {
     
    ...
     
    CMonAppliView* view = static_cast<CMonAppliView*>(static_cast<CMDIFrameWnd*>(m_pParentWnd)->GetActiveView());
     
    ...
     
    CDialog::OnOK();
    }
    mais visiblement j'ai pas vraiment accès à ma view, parce que dès que j'essaye d'y accéder, je me fais insulter... bug mémoire... etc...

    Help !

    Merci

  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 plus simple comme ça:
    voir faq:
    http://c.developpez.com/faq/vc/?page...k#GetActiveWnd

  3. #3
    Membre confirmé Avatar de loupdeau
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 125
    Par défaut
    J'avais déjà essayé de faire comme cà directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void CNewChangeListDlg::OnOK() 
    {
    ...
    CMonAppliView* maView = static_cast<CMonAppliView*>(((CMDIFrameWnd *)AfxGetMainWnd())->GetActiveFrame()->GetActiveView());
    ...
     
    CDialog::OnOK();
    }
    mais ca plante...

    monDialog.DoModal(); est exécuté au sein d'un thread.
    Est-ce que c'est pour ca que ca marche pas ???

  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
    Citation Envoyé par loupdeau
    J'avais déjà essayé de faire comme cà directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void CNewChangeListDlg::OnOK() 
    {
    ...
    CMonAppliView* maView = static_cast<CMonAppliView*>(((CMDIFrameWnd *)AfxGetMainWnd())->GetActiveFrame()->GetActiveView());
    ...
     
    CDialog::OnOK();
    }
    mais ca plante...

    monDialog.DoModal(); est exécuté au sein d'un thread.
    Est-ce que c'est pour ca que ca marche pas ???

    http://c.developpez.com/faq/vc/?page...d#WorkerThread
    pas de gui dans un thread de travail ,et encore moins une boîte de dialogue .

  5. #5
    Membre confirmé Avatar de loupdeau
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 125
    Par défaut
    scheiss... s'eut été fort pratique...

    J'exécute une suite de "commande" dans un thread.
    A un moment j'ai besoin de demander une valeur à l'utilisateur, donc j'avais fièrement mis à ma disposition une classe "CAfficheDialog" dont la fonction execute() faisait .

    enfin bon, si ca marche pas, ca marche pas..

Discussions similaires

  1. Problème pour modifier une View
    Par lilo415 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/05/2007, 14h19
  2. [WebForms][User Controls] Problème pour accéder aux CSS
    Par BouB dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 04/12/2006, 16h35
  3. Problème pour accéder aux données ASP.net côté client
    Par mappy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/07/2006, 15h10
  4. [JSP] Problème pour accéder à un bean venant d'une servlet
    Par GLDavid dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/06/2006, 09h43
  5. [Tomcat] Problème pour accéder à une servlet
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 08/04/2005, 13h56

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