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

C++ Discussion :

Récupérer le chemin après sélection d'un fichier dans un CMFCEditBrowseCtrl


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Récupérer le chemin après sélection d'un fichier dans un CMFCEditBrowseCtrl
    Bonjour,

    je suis donc entrain de réaliser un MFC Dialog Project sous Visual studio 2010 et je cherche a récupérer le chemin affiché par un CMFCEditBrowseCtrl.


    Dans mon .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CMFCEditBrowseCtrl m_EditFile;
    Dans mon ressource.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define IDC_EDITFILE                    1020;
    Dans mon .cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void CDLLtestDlg::DoDataExchange(CDataExchange* pDX)
    {
    	DDX_Control(pDX, IDC_EDITFILE, m_EditFile);
    }
    J'ai en suite ajouté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BEGIN_MESSAGE_MAP(CDLLtestDlg, CDialog)
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	ON_EN_CHANGE(IDC_EDITFILE, GetFile)
    END_MESSAGE_MAP()
    Pour essayer de faire un GetWindowText();
    Mais la méthode n'est pas reconnue et je n'ai pas d'autre idée.

    Si vous avez une idée pour récupérer le chemin du fichier sélectionné dans le CMFCEditBrowseCtrl, je suis tout ouïe.

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Donc du coup c'est bon, petite précision je travail avec des LPTSTR et non des string.

    Pour un truc fonctionnel j'ai rajouté dans mon .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LPTSTR cheminTemporaire;
    afx_msg void GetFile();
    et dans mon .cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void CDLLtestDlg::GetFile()
    {
    	m_EditFile.GetWindowText(cheminTemporaire, 500);
    	m_Status.SetWindowTextA(cheminTemporaire); //juste pour une vérification, et cela fonctionne bien.
    }

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Encore une précision, ma variable cheminTemporaire déclarée en LTPSTR inscrivait n'importe où en mémoire et faisait buguer mon programme. la modification lui permet toujours d'être appelée part une fonction avec une en tête de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typeretour EnTeteFonction(LPTSTR param);
    mais stabilise le code .

    Donc au final mon .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    char cheminTemporaire[256]; //la taille est modifiable au besoin, mais n'étant pas sur de la longueur de l'adresse, j'ai pris au plus grand
    CMFCEditBrowseCtrl m_EditFile;
    virtual void DoDataExchange(CDataExchange* pDX);
    afx_msg void GetFile();
    et mon .cpp :
    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
    18
    19
    20
    21
    22
    23
     
    BEGIN_MESSAGE_MAP(CDLLtestDlg, CDialog)
    	//{{AFX_MSG_MAP(CDLLtestDlg)
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	ON_COMMAND(IDC_INIT, OnInit)
    	ON_EN_CHANGE(IDC_EDITFILE, GetFile)
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    void CDLLtestDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(CDLLtestDlg)
    	//DDX_Text(pDX, IDC_NUMBER, m_Number);
    	DDX_Control(pDX, IDC_EDITFILE, m_EditFile);
    	//}}AFX_DATA_MAP
    }
     
    void CDLLtestDlg::GetFile()
    {
    	m_EditFile.GetWindowText(cheminTemporaire, 256);
    }

    Voila en espérant que cela aide peut être quelqu'un.

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

Discussions similaires

  1. Récupérer le chemin d'accès d'un fichier
    Par Yann39 dans le forum C
    Réponses: 19
    Dernier message: 13/12/2007, 20h03
  2. Comment récupérer le chemin en relatif d'un fichier
    Par pascalcom dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/06/2007, 08h26
  3. Récupérer le chemin d'accés d'un fichier
    Par massol joel dans le forum Contribuez
    Réponses: 2
    Dernier message: 24/10/2006, 16h03
  4. Récupérer sortie standard après redirection vers un fichier.
    Par sozie9372 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 22/03/2006, 15h10
  5. [VBA-E]récupérer le chemin d'accès d'un fichier
    Par gil68 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/02/2006, 18h50

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