Utilisation des getOpenFileName
Bonjour,
Je souhaite pouvoir utiliser la fenêtre "ouvrir les fichier" de l'API Windows.
Bon jusque la tout marche correctement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#include <windows.h>
int WinMain (
HINSTANCE cetteInstance,
HINSTANCE precedenteInstance,
LPSTR lignesDeCommande,
int modeDAffichage
)
{
//MessageBox(NULL, TEXT("Hello World"), TEXT("Hello World"), MB_OK);
//Structure nécessaire à la boîte de dialogue d'ouverture
OPENFILENAME toGetFileName;
//Variable qui va recevoir le chemin de la musique
char filePath[MAX_PATH] = "";
//Remplissage de la structure
ZeroMemory(&toGetFileName, sizeof(OPENFILENAME));
toGetFileName.lStructSize = sizeof(OPENFILENAME);
toGetFileName.hwndOwner = NULL;
toGetFileName.lpstrFile = filePath;
toGetFileName.nMaxFile = MAX_PATH;
//Avec un filtre de fichiers audio
// toGetFileName.lpstrFilter = "Audio File\0*.mp3;*.wav;*.ogg;*.wma\0\0";
toGetFileName.nFilterIndex = 1;
toGetFileName.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT;
//Si l'utilisateur clique sur "Ouvrir"
if(GetOpenFileName(&toGetFileName) == TRUE)
{
//Copier le chemin récupéré dans le chemin de la musique
MessageBox(NULL, filePath , "Hello World", MB_OK);
}
return 0;
} |
Ensuite j'ai voulu pouvoir utiliser la fonction de choix multiple, et c'est la que ca commence à déraper, enfin je pense.
En effet, quand j'ajoute le flags OFN_ALLOWMULTISELECT, la fenetre change, et je me retrouve avec la fenêtre parcourir de windows 3.1.
Donc est-ce normal?
Et surtout, est ce qu'il est possible de conserver de celle de vista?
Merci d'avance.