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] Ouvrir un document par double-clique


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Points : 77
    Points
    77
    Par défaut [MFC] Ouvrir un document par double-clique
    Bonjour, j'ai géré la sauvegarde et l'ouverture de fichiers propre à mon applie et ça marche parfaitement. Mais si je doble-clique sur l'icône d'un fichier, le logiciel se lance mais aucun document ne s'ouvre. Faut-il rajouter du code pour l'ouvrir?

    PS : projet MDI architecture Doc/View

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Salut,
    il faut que tu geres ca toi meme
    en double cliquant dessus, tu passes le nom du fichier en ligne de commande au programme. Donc en récupérant ce contenu, tu pourras ouvrir le fichier qu'il te faut

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 46
    Points : 46
    Points
    46
    Par défaut
    oui il faut ouvrir le fichier manuellement, MFC ne le fait pas tout seul :

    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
    16
    17
    BOOL CMyApp::InitInstance()
    {
       // ...
     
       if (m_lpCmdLine[0] == _T('\0'))
       {
          // Create a new (empty) document.
          OnFileNew();
       }
       else
       {
          // Open a file passed as the first command line parameter.
          OpenDocumentFile(m_lpCmdLine);
       }
     
       // ...
    }

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Points : 77
    Points
    77
    Par défaut
    Merci mais quand je double-clique sur le fichier, il ouvre l'exé puis ouvre une nouvelle fenêtre mais m'affiche le message "Impossible de trouver D:\dde". Je sais pas du tout ce que c'est. Aucune de mes données n'a cette valeur et aucun de mes fichier ne s'appelle comme ça. T'as déjà eu ce problème?

    Sinon, quand je lance l'applie normalement, maintenant il m'affiche deux documents. L'appel à OnFileNew est inutile alors?

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 46
    Points : 46
    Points
    46
    Par défaut
    peut-être un problème d'espace ?

    t'as pas un fichier qui s'appelle "d:\dde quelque chose" ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Points : 77
    Points
    77
    Par défaut
    non j'ai cherché et même pas sur un autre disque. Je sais pas pourquoi il cherche ce fichier. En plus je peux pas deboguer vu que je lance pas depuis Visual. C'est vraiment bizarre

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Points : 77
    Points
    77
    Par défaut
    J'ai trouvé d'où vient le dde. C'est une option dans les dossiers windows. J'ai réussi à ouvrir un document mais avant j'ai du changer des options dans les dossiers de windows :
    - Options des dossiers
    - Types de fichiers
    - Selectionner mon type de fichier (*.feat)
    - cliquer sur avancé
    - Edit était sélectionné, j'ai sélectionné open
    - Cliquer sur modifier
    - Dans la commande d'exécution, enlever "/dde" à la fin
    - Décocher option DDE

    Après tout ça, ça marchait mais j'ai recompilé ensuite et j'ai réessayé et l'option DDE était de nouveau active. Je pense qu'il faudrait changer des entrées dans la base de registre mais je sais pas où, pas comment et pas quoi changer.
    Quelqu'un aurait-il une idée?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 155
    Points : 77
    Points
    77
    Par défaut
    J'ai trouvé l'instruction quui réécrivait à chaque fois dans le registre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RegisterShellFileTypes(TRUE)
    Il suffit d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RegisterShellFileTypes(FALSE);
    pour éviter d'avoir l'option DDE par contre l'icône et l'extension ne sont plus actives pour l'exécutable. Il faut donc un programme d'installation pour le refaire.
    C'est pas super mais bon on fait avec

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

Discussions similaires

  1. [WD-2007] Ouvrir un document par un clic sur un bouton
    Par juliien dans le forum VBA Word
    Réponses: 2
    Dernier message: 09/01/2015, 16h05
  2. Autorisé la saisie dans une cellule par double clique
    Par mounim_taoufik dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/01/2010, 20h28
  3. [TreeView] Selection par double-clique d'une ligne
    Par knarf87 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 07/07/2008, 11h20
  4. Réponses: 11
    Dernier message: 10/01/2008, 20h27
  5. [VB.NET] Ouvrir fichier dans appli par double-clic dessus
    Par vynce dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/03/2005, 16h43

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