Deschiderea și salvarea ca casetele de Dialog

Caseta de dialog Deschidere permite utilizatorului specifică unitatea, director și numele unui fișier sau un set de fișiere pentru a deschide. Creați și afișa o casetă de dialog deschisă de inițializarea unei structuri de OPENFILENAME ?i transmiterea structura funcția GetOpenFileName.

Caseta de dialog Salvare ca permite utilizatorului specifica unitatea, director și numele unui fișier pentru a salva. Creați și afișa o Salvare ca caseta de dialog de inițializarea unei structuri de OPENFILENAME ?i transmiterea structura funcția GetSaveFileName.

Începând cu Windows 95 și Windows NT versiunea 4.0, o nouă versiune a casetele de dialog Deschidere și Salvare ca furnizează caracteristici de interfață utilizator care sunt similare cu Windows Explorer. Cu toate acestea, sistemul continuă să sprijine stil vechi Deschidere și Salvare ca casetele de dialog pentru aplicații care trebuie să fie conforme cu interfața cu utilizatorul mai vechi.

În plus față de diferen?a în aparență, Explorer-stil și casetele de dialog stil vechi diferă în utilizarea lor de șabloane particularizate și cârlig procedurile pentru particularizarea casetele de dialog. Cu toate acestea, Explorer-stil și casetele de dialog stil vechi au același comportament pentru cele mai de bază de operațiuni, cum ar fi specificând un nume filtru, validarea date introduse de utilizator, precum și obținerea numele de fișier specificat de utilizator. Pentru mai multe informații despre Explorer-stil și casetele de dialog stil vechi, consultați Deschidere și Salvare ca personalizare de caseta de la Dialog.

Ilustrația următoare afișează o casetă de dialog Explorer-stil Open tipic.

Următoarea ilustrație arată o tipic Explorer-stil Salvare ca caseta de dialog.

Dacă utilizatorul specifică un nume de fișier și face clic pe butonul OK , GetOpenFileName sau GetSaveFileName întoarce TRUE. Tampon a subliniat de membru lpstrFile din structura OPENFILENAME conține calea completă și numele de fișier specificat de utilizator.

Dacă utilizatorul anulează caseta de dialog Deschidere sau Salvare ca sau apare o eroare, funcția întoarce FALSE. Pentru a determina cauza erorii, apela funcția CommDlgExtendedError pentru a prelua valoarea de eroare prelungit. Dacă zona-tampon lpstrFile este prea mică pentru a primi numele complet, CommDlgExtendedError întoarce FNERR_BUFFERTOOSMALL și prima 2 octeți din tampon a subliniat de membru lpstrFile sunt setate la un întreg valoare specifică dimensiunea necesare pentru a primi numele complet.

Casetele de dialog Explorer stil sunt disponibile numai pentru 32-bit cerere. 16-bit cerere poate utiliza ciudat pentru a afișa o casetă de dialog Explorer-stil.

Windows 95 și Windows 98: Win32 aplicațiile care utilizează casetele de dialog stil vechi face acest lucru folosind un thunk. Acest lucru înseamnă că orice indicatorul trecut la procedura dvs. cârlig este o copie nonpersistent a datelor. De exemplu, indicatorul OPENFILENAME trecut în mesajul de WM_INITDIALOG nu este un indicator spre tampon pe care ați specificat-o inițial. Dacă aveți nevoie să treacă datele private la procedura dvs. cârlig, bundle it într-o structură și stochează un pointer la structura membru lCustData din structura OPENFILENAME.

Index