Bonjour,
J'utilise cette fonction à la place de SelectDirectory.
Mettre ShlObj, ActiveX; dans les uses
Je l'utilise comme ceci :
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 Function Browse : String; var BrowseInfo : TBrowseInfo; PIDL : PItemIDList; Folder : array[0..MAX_PATH] of Char; begin result := ''; FillChar(BrowseInfo,SizeOf(BrowseInfo),#0); BrowseInfo.hwndOwner := Application.Handle; BrowseInfo.pszDisplayName := @Folder[0]; BrowseInfo.lpszTitle := 'Selectionné ou créer un dossier'; BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS or $40; CoInitialize(NIL); PIDL := SHBrowseForFolder(BrowseInfo); if Assigned(PIDL) then if SHGetPathFromIDList(PIDL, folder) then result := folder else result := ''; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.Button2Click(Sender: TObject); begin if Browse = '' then Showmessage('dossier non valid'); end;
Comment je peux savoir si l'utilisateur a cliqué sur annuler ou OK ?
Merci.
Partager