In Vista, ho utilizzato uno per consentire agli utenti di scegliere una cartella "salva-come". Gli utenti esportano una cartella di immagini, ad esempio, e devono scegliere una cartella di destinazione nuova o esistente.IFileSaveDialog - Scelta cartelle in Windows 7
In breve, il codice va in questo modo:
IFileSaveDialog* dialog; // created
dialog->SetOptions(FOS_PICKFOLDERS);
dialog->Show(NULL);
dialog->GetResult(&shellItem)
In Windows 7, l'FOS_PICKFOLDERS
opzione appare essere stato annullato (ed è contrassegnato come tale in the API). Il valore restituito sulla chiamata SetOptions
è E_INVALIDARG
. Se uso un IFileOpenDialog, mi è consentito impostare l'opzione per le cartelle, ma all'utente viene richiesto un errore quando si sceglie una cartella inesistente (nonostante le mie flag di impostazione suggeriscano di non farlo).
Esiste un modo alternativo per impostare il nuovo IFileDialog
come una finestra di dialogo "Salva cartella"?
[Per scongiurare alcuni commenti, l'API SHBrowseForFolder esiste ancora, ma non è ancora una soluzione accettabile per i nostri decisori UI.]
In modo divertente, il team di Windows ha utilizzato questo flag in un esempio sul proprio blog in aprile! http://windowsteamblog.com/blogs/developers/archive/2009/04/16/light-up-with-windows-7-libraries.aspx –
E un commento di kazoobrewer che gli dice che non funziona più. Immagino che potresti essere tu allora ... –
A volte sembra che tu sia l'unico sviluppatore che utilizza un'API in natura ... –