Vc++ OFN_ALLOWMULTISELECT CFileDialog

Signaler
Messages postés
28
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
8 juin 2005
-
Messages postés
1
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
13 février 2005
-
je comprends pas ce que je doit faire avec m_ofn.lpstrFile dans l'extrait de la msdn quand je veux recuperer plusieurs chemins de fichiers :
To allow the user to select multiple files, set the OFN_ALLOWMULTISELECT flag before calling DoModal. You need to supply your own filename buffer to accommodate the returned list of multiple filenames. Do this by replacing m_ofn.lpstrFile with a pointer to a buffer you have allocated, after constructing the CFileDialog, but before calling DoModal. Additionally, you must set m_ofn.nMaxFile with the number of characters in the buffer pointed to by m_ofn.lpstrFile.

Merci de me donner un exemple.

3 réponses

Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Cela surtout à répérer les fichiers selectionnés
Tu alloues un buffer pour receptionner le nom des fichiers selectionnés que tu affectes à m_ofn.lpstrFile.

Core Breaker :)
Messages postés
28
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
8 juin 2005

oui mais comment on alloue un buffer??
il faut declarer quoi pour l'affecté a m_ofn.lpstrFile?
je comprends pas si il faut declarer un char * par exemple..
et affecté son adresse à m_ofn.lpstrFile...(ca ca marche pas)
Messages postés
1
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
13 février 2005

Salut,

Utilise les fonction GetStartPosition() et GetNextPathName().

exemple :
CFileDialog fDlg(/* tes paramètre */);

fDgl.DoModal();

POSITION position = fDlg.GetStartPosition();
while (position)
{
CString s = fDlg.GetNextPathName(position);
/* ton traitement avec tes chemin */
}



http://tonicorp.free.fr