Bonjour
Avec Visual studio C++ 6 en Api pur, je n'arrive pas à récupérer séparément le nom d'un fichier d'un côté et le chemin de l'autre ( sans le nom du fichier) à partir d'une structure OPENFILENAME pour pouvoir les inscrire dans deux controles Edit différents.
Merci d'avance pour les réponses.
Voici le code simplifié:
/***********************************************************************************************/
bool TrouveFichier(HWND hwnd, char* CheminFichier, char* NomFichier)
/**********************************************************************************************/
{
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
CheminFichier[0] = 0;
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "Fichiers de Type (*.pdf)\0*.pdf;*.cmd\0\0";
ofn.lpstrFile = CheminFichier;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFileTitle = NomFichier;
ofn.lpstrDefExt = "pdf";
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ;
if(!GetOpenFileName(&ofn))
return false;
return true;
}
///////////
LRESULT CALLBACK ProcedurePrincipale(HWND fenetrePrincipale, UINT message, WPARAM wParam, LPARAM lParam)
switch (message)
{
case WM_COMMAND:
UINT NumeroId = LOWORD(wParam);
switch(NumeroId)
{
case ID_BUTTON3:
GetWindowText(hEditCheminPDF, CheminFichier,strlen(CheminFichier));
if(TrouveFichier(fenetrePrincipale, CheminFichier, NomFichier))
{
SetWindowText(hEditCheminPDF, CheminFichier);
SetWindowText(hEditFichierPDF, NomFichier);
}
break;
}
}
////////////////////////////////////////////////////////////////////////////////////
Cartes1