2009-08-17 22 views

Répondre

16

Il y a deux routines surchargées dans FileCtrl.pas appelées SelectDirectory

Pour un look moderne, utilisez la deuxième forme, avec sdNewUI

var 
    dir : string; 
begin 
    dir := 'C:\temp'; 
    FileCtrl.SelectDirectory('Select', 'C:\', dir, [sdNewFolder, sdNewUI], Self); 
end; 

REMARQUE: sdNewFolder, sdNewUI etc sont uniquement disponibles à partir D2006 +

+0

Merci pour cela. J'ai regardé SelectDirectory précédemment mais je n'ai pas vu l'option pour l'interface utilisateur moderne. – Rowan

+0

Une liste des options disponibles dans le paramètre Options de SelectDirectory peut être trouvée ici: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/FR/html/delphivclwin32/FileCtrl_TSelectDirExtOpt.html – Rowan

+0

Utilisation de FileCtrl.pas me donne un avertissement: L'unité "FileCtrl" est spécifique à une plateforme. Y a-t-il une solution sans cette unité? – TomCat500

2

vous pouvez utiliser SelectDirectory de l'unité FileCtrl

using FileCtrl; 
var 
    St: string; 
begin 
    St:='c:\'; 
    if SelectDirectory(St,[],0) then 
    begin 
    end; 

end; 
1

Vous pouvez télécharger un composant PBFolderDialog de "http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx" qui est assez facile à utiliser et offre un accès à toutes les options de la boîte de dialogue Windows "SHBrowseForFolder"; quelque chose que les built-in ne font pas.

C'est freeware avec la source et pas trop difficile à porter à Delphi 2009.