Aprire e salvare come finestre di dialogo

Nella finestra di dialogo Apri consente all'utente di specificare l'unità, directory e il nome di un file o un insieme di file da aprire. Creare e visualizzare una finestra di dialogo Apri l'inizializzazione di una struttura OPENFILENAME , passando la struttura alla funzione GetOpenFileName.

Nella finestra di dialogo Salva con nome consente all'utente di specificare l'unità, directory e il nome di un file da salvare. Creare e visualizzare una finestra di dialogo Salva con nome l'inizializzazione di una struttura OPENFILENAME , passando la struttura alla funzione GetSaveFileName.

A partire da Windows 95 e Windows NT versione 4.0, una nuova versione delle finestre di dialogo Apri e Salva con nome fornisce funzionalità di interfaccia utente simile a Windows Explorer. Tuttavia, il sistema continua a supportare le finestre di dialogo vecchio stile aperto e Salva con nome per le applicazioni che devono essere coerenti con l'interfaccia utente più anziane.

Oltre alla differenza di aspetto, il tipo Esplora risorse e finestre di dialogo di vecchio stile differiscono nel loro uso di modelli personalizzati e gancio procedure per personalizzare le finestre di dialogo. Tuttavia, il tipo Esplora risorse e finestre di dialogo di vecchio stile hanno lo stesso comportamento per le operazioni più elementari, come ad esempio specificando un filtro filename, convalida dell'input dell'utente e ottenere il nome file specificato dall'utente. Per ulteriori informazioni circa il tipo Esplora risorse e finestre di dialogo di vecchio stile, vedere Apri e salva come finestra di dialogo casella di personalizzazione.

L'illustrazione seguente mostra una tipica di dialogo aperto tipo Esplora risorse.

L'illustrazione seguente mostra una tipica stile Explorer Salva nella finestra di dialogo.

Se l'utente specifica un nome di file e fa clic sul pulsante OK , GetOpenFileName o GetSaveFileName restituisce TRUE. Il buffer a cui puntato il membro lpstrFile della struttura OPENFILENAME contiene il percorso completo e il nome file specificato dall'utente.

Se l'utente annulla nella finestra di dialogo Apri o Salva con nome , o si verifica un errore, la funzione restituisce FALSE. Per determinare la causa dell'errore, chiamare la funzione CommDlgExtendedError per recuperare il valore di errore esteso. Se il buffer di lpstrFile è troppo piccolo per ricevere il nome completo, CommDlgExtendedError restituisce FNERR_BUFFERTOOSMALL e i primi 2 byte del buffer a cui puntata il membro lpstrFile sono impostati su un valore integer che specifica la dimensione richiesta per ricevere il nome completo.

Finestre di dialogo stile Explorer disponibili solo per le applicazioni a 32 bit. applicazioni a 16 bit non è possibile utilizzare thunk per visualizzare una finestra di dialogo tipo Esplora risorse.

Windows 95 e Windows 98: Applicazioni basate su Win32 che utilizzano le finestre di dialogo di vecchio stile fanno usando un thunk. Questo significa che qualsiasi puntatore passato a vostra routine di hook è una copia non permanente dei dati. Ad esempio, il puntatore OPENFILENAME passato nel messaggio WM_INITDIALOG non è un puntatore al buffer di origine specificato. Se avete bisogno passare dati privati a vostra routine di hook, bundle in una struttura e memorizzare un puntatore alla struttura nel membro lCustData della struttura OPENFILENAME.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index