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 :

CFiledialog


Sujet :

MFC

Vue hybride

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Par défaut CFiledialog
    Bonjour,

    Comment initialiser "m_ofn.lpstrInitialDir" afin que la fenetre CFileDialog s'ouvre sur le poste de travail??

    Thieum

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    lpstrInitialDir
    Pointer to a string that specifies the initial file directory.
    Windows NT 5.0 and later; Windows 98 and later:

    If lpstrInitalDir is NULL and the current directory contains any files of the specified filter types, the initial directory is the current directory.

    If lpstrInitalDir is NULL and the current directory does not contain any files of the specified filter types, the initial directory is the personal files directory of the current user. To specify the current user's personal files directory as the initial directory, set lpstrInitialDir to the path returned by calling theSHGetSpecialFolderLocation function with the CSIDL_PERSONAL flag.

    Earlier versions of Windows and Windows NT:

    If lpstrInitalDir is NULL, the initial directory is the current directory.
    Dans ton cas, ce n'est pas le répertoire de l'utilisateur courant que tu veux, mais le bureau. donc au lieu de CSIDL_PERSONAL, tu utiliseras CSIDL_COMMON_DESKTOPDIRECTORY

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    WINSHELLAPI HRESULT WINAPI SHGetSpecialFolderLocation(
        HWND hwndOwner,
        int nFolder,
        LPITEMIDLIST *ppidl
    );
    nFolder
    Value specifying the folder for which to retrieve the location. This parameter can be one of the following values:
    CSIDL_COMMON_DESKTOPDIRECTORY File system directory that contains files and folders that appear on the desktop for all users

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Par défaut
    Ok,

    avec le code suivant ca marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	LPTSTR szPath = "";
    	SHGetSpecialFolderPath(hWndMain, szPath, CSIDL_DESKTOPDIRECTORY , true);
    	AfxMessageBox(szPath);
    	Dialog.m_ofn.lpstrInitialDir = szPath;
    sauf que là, la fenetre s'ouvre sur le bureau hors je souhaite qu'elle s'ouvre sur le poste de travail. j'ai essayer avec CSIDL_DRIVES mais le chemin retrouner est null.

    donc comment faire pour avoir le chemin du poste de travail??

  4. #4
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    C'est un répertoire virtuel, il existe nul part sur le disque. C'est pour ça que SHGetSpecialFolderPath échoue. Je ne pense pas que ce que tu souhaites soit possible, avec CFileDialog.
    C'est faisable avec SHBrowseForFolder, mais c'est une dialogue moins sympa...

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 18
    Par défaut
    Ok, bon ben tant pis, neanmoins merci de vos reponses...

    Que la force soit avec vous...

    Thieum

Discussions similaires

  1. [MFC]affichage mode detail d'une CFileDialog
    Par lucky dans le forum MFC
    Réponses: 13
    Dernier message: 14/09/2005, 22h05
  2. Réponses: 26
    Dernier message: 26/01/2005, 15h53
  3. Réponses: 2
    Dernier message: 04/10/2004, 14h30
  4. [MFC]Selection repertoire CFileDialog
    Par Tsunamis dans le forum MFC
    Réponses: 8
    Dernier message: 13/09/2004, 16h37
  5. CFileDialog Filter
    Par Patrick Beaudoin dans le forum MFC
    Réponses: 4
    Dernier message: 07/09/2002, 09h51

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