Bagikan melalui


Struktur OPENFILENAMEW (commdlg.h)

[Dimulai dengan Windows Vista, kotak dialog Buka dan Simpan Sebagai umum telah digantikan oleh Dialog Item Umum. Kami menyarankan agar Anda menggunakan API Dialog Item Umum alih-alih kotak dialog ini dari Pustaka Kotak Dialog Umum.]

Berisi informasi yang digunakan fungsi GetOpenFileName dan GetSaveFileName untuk menginisialisasi kotak dialog Buka atau Simpan Sebagai . Setelah pengguna menutup kotak dialog, sistem mengembalikan informasi tentang pilihan pengguna dalam struktur ini.

Sintaks

typedef struct tagOFNW {
  DWORD         lStructSize;
  HWND          hwndOwner;
  HINSTANCE     hInstance;
  LPCWSTR       lpstrFilter;
  LPWSTR        lpstrCustomFilter;
  DWORD         nMaxCustFilter;
  DWORD         nFilterIndex;
  LPWSTR        lpstrFile;
  DWORD         nMaxFile;
  LPWSTR        lpstrFileTitle;
  DWORD         nMaxFileTitle;
  LPCWSTR       lpstrInitialDir;
  LPCWSTR       lpstrTitle;
  DWORD         Flags;
  WORD          nFileOffset;
  WORD          nFileExtension;
  LPCWSTR       lpstrDefExt;
  LPARAM        lCustData;
  LPOFNHOOKPROC lpfnHook;
  LPCWSTR       lpTemplateName;
  LPEDITMENU    lpEditInfo;
  LPCSTR        lpstrPrompt;
  void          *pvReserved;
  DWORD         dwReserved;
  DWORD         FlagsEx;
} OPENFILENAMEW, *LPOPENFILENAMEW;

Anggota

lStructSize

Jenis: DWORD

Panjangnya, dalam byte, dari struktur. Gunakan sizeof (OPENFILENAME) untuk parameter ini.

hwndOwner

Jenis: HWND

Handel ke jendela yang memiliki kotak dialog. Anggota ini bisa menjadi handel jendela yang valid, atau bisa NULL jika kotak dialog tidak memiliki pemilik.

hInstance

Jenis: HINSTANCE

Jika bendera OFN_ENABLETEMPLATEHANDLE diatur di anggota Bendera , hInstance adalah handel ke objek memori yang berisi templat kotak dialog. Jika bendera OFN_ENABLETEMPLATE diatur, hInstance adalah handel ke modul yang berisi templat kotak dialog bernama oleh anggota lpTemplateName . Jika tidak ada bendera yang diatur, anggota ini akan diabaikan. Jika bendera OFN_EXPLORER diatur, sistem menggunakan templat yang ditentukan untuk membuat kotak dialog yang merupakan anak dari kotak dialog gaya Penjelajah default. Jika bendera OFN_EXPLORER tidak diatur, sistem menggunakan templat untuk membuat kotak dialog gaya lama yang menggantikan kotak dialog default.

lpstrFilter

Jenis: LPCTSTR

Buffer yang berisi pasangan string filter yang dihentikan null. String terakhir dalam buffer harus dihentikan oleh dua karakter NULL .

String pertama di setiap pasangan adalah string tampilan yang menjelaskan filter (misalnya, "File Teks"), dan string kedua menentukan pola filter (misalnya, ".TXT"). Untuk menentukan beberapa pola filter untuk string tampilan tunggal, gunakan titik koma untuk memisahkan pola (misalnya, ".TXT; .DOC;. BAK"). String pola dapat berupa kombinasi karakter nama file yang valid dan karakter kartubebas tanda bintang (*). Jangan sertakan spasi dalam string pola.

Sistem tidak mengubah urutan filter. Ini menampilkannya dalam kotak kombo Jenis File dalam urutan yang ditentukan dalam lpstrFilter.

Jika lpstrFilterNULL, kotak dialog tidak menampilkan filter apa pun.

Dalam kasus pintasan, jika tidak ada filter yang diatur, GetOpenFileName dan GetSaveFileName mengambil nama file .lnk, bukan targetnya. Perilaku ini sama dengan mengatur bendera OFN_NODEREFERENCELINKS di anggota Bendera . Untuk mengambil target pintasan tanpa pemfilteran, gunakan string "All Files\0*.*\0\0".

lpstrCustomFilter

Jenis: LPTSTR

Buffer statis yang berisi sepasang string filter yang dihentikan null untuk mempertahankan pola filter yang dipilih oleh pengguna. String pertama adalah string tampilan Anda yang menjelaskan filter kustom, dan string kedua adalah pola filter yang dipilih oleh pengguna. Pertama kali aplikasi Anda membuat kotak dialog, Anda menentukan string pertama, yang dapat berupa string yang tidak kosong. Saat pengguna memilih file, kotak dialog menyalin pola filter saat ini ke string kedua. Pola filter yang dipertahankan dapat menjadi salah satu pola yang ditentukan dalam buffer lpstrFilter , atau dapat menjadi pola filter yang diketik oleh pengguna. Sistem menggunakan string untuk menginisialisasi filter file yang ditentukan pengguna saat berikutnya kotak dialog dibuat. Jika anggota nFilterIndex adalah nol, kotak dialog menggunakan filter kustom.

Jika anggota ini NULL, kotak dialog tidak mempertahankan pola filter yang ditentukan pengguna.

Jika anggota ini bukan NULL, nilai anggota nMaxCustFilter harus menentukan ukuran, dalam karakter, dari buffer lpstrCustomFilter .

nMaxCustFilter

Jenis: DWORD

Ukuran, dalam karakter, dari buffer yang diidentifikasi oleh lpstrCustomFilter. Panjang buffer ini harus minimal 40 karakter. Anggota ini diabaikan jika lpstrCustomFilterNULL atau menunjuk ke string NULL .

nFilterIndex

Jenis: DWORD

Indeks filter yang saat ini dipilih dalam kontrol Tipe File . Buffer yang ditujukkan oleh lpstrFilter berisi pasangan string yang menentukan filter. Sepasang string pertama memiliki nilai indeks 1, pasangan kedua 2, dan sebagainya. Indeks nol menunjukkan filter kustom yang ditentukan oleh lpstrCustomFilter. Anda dapat menentukan indeks pada input untuk menunjukkan deskripsi filter awal dan pola filter untuk kotak dialog. Saat pengguna memilih file, nFilterIndex mengembalikan indeks filter yang saat ini ditampilkan. Jika nFilterIndex adalah nol dan lpstrCustomFilter ADALAH NULL, sistem menggunakan filter pertama dalam buffer lpstrFilter . Jika ketiga anggota adalah nol atau NULL, sistem tidak menggunakan filter apa pun dan tidak menampilkan file apa pun dalam kontrol daftar file kotak dialog.

lpstrFile

Jenis: LPTSTR

Nama file yang digunakan untuk menginisialisasi kontrol edit Nama File . Karakter pertama dari buffer ini harus NULL jika inisialisasi tidak diperlukan. Ketika fungsi GetOpenFileName atau GetSaveFileName berhasil dikembalikan, buffer ini berisi pendesain drive, jalur, nama file, dan ekstensi file yang dipilih.

Jika bendera OFN_ALLOWMULTISELECT diatur dan pengguna memilih beberapa file, buffer berisi direktori saat ini diikuti dengan nama file file yang dipilih. Untuk kotak dialog Gaya penjelajah, string nama direktori dan file dipisahkan NULL , dengan karakter NULL tambahan setelah nama file terakhir. Untuk kotak dialog gaya lama, string dipisahkan spasi dan fungsi menggunakan nama file pendek untuk nama file dengan spasi. Anda dapat menggunakan fungsi FindFirstFile untuk mengonversi antara nama file panjang dan pendek. Jika pengguna hanya memilih satu file, string lpstrFile tidak memiliki pemisah antara jalur dan nama file.

Jika buffer terlalu kecil, fungsi mengembalikan FALSE dan fungsi CommDlgExtendedError mengembalikan FNERR_BUFFERTOOSMALL. Dalam hal ini, dua byte pertama buffer lpstrFile berisi ukuran yang diperlukan, dalam byte atau karakter.

nMaxFile

Jenis: DWORD

Ukuran, dalam karakter, dari buffer yang ditujukkan oleh lpstrFile. Buffer harus cukup besar untuk menyimpan jalur dan string atau string nama file, termasuk karakter NULL yang mengakhiri. Fungsi GetOpenFileName dan GetSaveFileName mengembalikan FALSE jika buffer terlalu kecil untuk berisi informasi file. Panjang buffer harus minimal 256 karakter.

lpstrFileTitle

Jenis: LPTSTR

Nama file dan ekstensi (tanpa informasi jalur) dari file yang dipilih. Anggota ini bisa NULL.

nMaxFileTitle

Jenis: DWORD

Ukuran, dalam karakter, dari buffer yang ditujukkan oleh lpstrFileTitle. Anggota ini diabaikan jika lpstrFileTitleADALAH NULL.

lpstrInitialDir

Jenis: LPCTSTR

Direktori awal. Algoritma untuk memilih direktori awal bervariasi pada platform yang berbeda.

Windows 7:

  1. Jika lpstrInitialDir memiliki nilai yang sama seperti yang diteruskan pertama kali aplikasi menggunakan kotak dialog Buka atau Simpan Sebagai , jalur yang terakhir dipilih oleh pengguna digunakan sebagai direktori awal.
  2. Jika tidak, jika lpstrFile berisi jalur, jalur tersebut adalah direktori awal.
  3. Jika tidak, jika lpstrInitialDir bukan NULL, lpstrInitialDir menentukan direktori awal.
  4. Jika lpstrInitialDir adalah NULL dan direktori saat ini berisi file apa pun dari jenis filter yang ditentukan, direktori awal adalah direktori saat ini.
  5. Jika tidak, direktori awal adalah direktori file pribadi pengguna saat ini.
  6. Jika tidak, direktori awal adalah folder Desktop.
Windows 2000/XP/Vista:
  1. Jika lpstrFile berisi jalur, jalur tersebut adalah direktori awal.
  2. Jika tidak, lpstrInitialDir menentukan direktori awal.
  3. Jika tidak, jika aplikasi telah menggunakan kotak dialog Buka atau Simpan Sebagai di masa lalu, jalur yang terakhir digunakan dipilih sebagai direktori awal. Namun, jika aplikasi tidak dijalankan untuk waktu yang lama, jalur yang dipilih tersimpan akan dibuang.
  4. Jika lpstrInitialDir adalah NULL dan direktori saat ini berisi file apa pun dari jenis filter yang ditentukan, direktori awal adalah direktori saat ini.
  5. Jika tidak, direktori awal adalah direktori file pribadi pengguna saat ini.
  6. Jika tidak, direktori awal adalah folder Desktop.

lpstrTitle

Jenis: LPCTSTR

String yang akan ditempatkan di bilah judul kotak dialog. Jika anggota ini NULL, sistem menggunakan judul default (yaitu Simpan Sebagai atau Buka).

Flags

Jenis: DWORD

Sekumpulan bendera bit yang bisa Anda gunakan untuk menginisialisasi kotak dialog. Saat kotak dialog kembali, kotak dialog mengatur bendera ini untuk menunjukkan input pengguna. Anggota ini bisa menjadi kombinasi dari bendera berikut.

Nilai Makna
OFN_ALLOWMULTISELECT
0x00000200
Kotak daftar Nama File memungkinkan beberapa pilihan. Jika Anda juga mengatur bendera OFN_EXPLORER , kotak dialog menggunakan antarmuka pengguna gaya Explorer; jika tidak, ia menggunakan antarmuka pengguna gaya lama.

Jika pengguna memilih lebih dari satu file, buffer lpstrFile mengembalikan jalur ke direktori saat ini diikuti dengan nama file dari file yang dipilih. Anggota nFileOffset adalah offset, dalam byte atau karakter, ke nama file pertama, dan anggota nFileExtension tidak digunakan. Untuk kotak dialog Gaya penjelajah, string nama direktori dan file dipisahkan NULL , dengan karakter NULL tambahan setelah nama file terakhir. Format ini memungkinkan kotak dialog Gaya penjelajah untuk mengembalikan nama file panjang yang menyertakan spasi. Untuk kotak dialog gaya lama, string nama direktori dan file dipisahkan oleh spasi dan fungsi menggunakan nama file pendek untuk nama file dengan spasi. Anda dapat menggunakan fungsi FindFirstFile untuk mengonversi antara nama file panjang dan pendek.

Jika Anda menentukan templat kustom untuk kotak dialog gaya lama, definisi kotak daftar Nama File harus berisi nilai LBS_EXTENDEDSEL .

OFN_CREATEPROMPT
0x00002000
Jika pengguna menentukan file yang tidak ada, bendera ini menyebabkan kotak dialog meminta izin kepada pengguna untuk membuat file. Jika pengguna memilih untuk membuat file, kotak dialog akan ditutup dan fungsi mengembalikan nama yang ditentukan; jika tidak, kotak dialog tetap terbuka. Jika Anda menggunakan bendera ini dengan bendera OFN_ALLOWMULTISELECT , kotak dialog memungkinkan pengguna untuk menentukan hanya satu file yang tidak ada.
OFN_DONTADDTORECENT
0x02000000
Mencegah sistem menambahkan tautan ke file yang dipilih di direktori sistem file yang berisi dokumen pengguna yang terakhir digunakan. Untuk mengambil lokasi direktori ini, panggil fungsi SHGetSpecialFolderLocation dengan bendera CSIDL_RECENT .
OFN_ENABLEHOOK
0x00000020
Mengaktifkan fungsi hook yang ditentukan dalam anggota lpfnHook .
OFN_ENABLEINCLUDENOTIFY
0x00400000
Menyebabkan kotak dialog mengirim CDN_INCLUDEITEM pesan pemberitahuan ke prosedur hook OFNHookProc Anda saat pengguna membuka folder. Kotak dialog mengirimkan pemberitahuan untuk setiap item di folder yang baru dibuka. Pesan ini memungkinkan Anda mengontrol item mana yang ditampilkan kotak dialog dalam daftar item folder.
OFN_ENABLESIZING
0x00800000
Mengaktifkan kotak dialog Gaya-Penjelajah untuk diubah ukurannya menggunakan mouse atau keyboard. Secara default, kotak dialog Buka dan Simpan Sebagai gaya Penjelajah memungkinkan kotak dialog diubah ukurannya terlepas dari apakah bendera ini diatur. Bendera ini diperlukan hanya jika Anda menyediakan prosedur kait atau templat kustom. Kotak dialog gaya lama tidak mengizinkan perubahan ukuran.
OFN_ENABLETEMPLATE
0x00000040
Anggota lpTemplateName adalah penunjuk ke nama sumber daya templat dialog dalam modul yang diidentifikasi oleh anggota hInstance . Jika bendera OFN_EXPLORER diatur, sistem menggunakan templat yang ditentukan untuk membuat kotak dialog yang merupakan anak dari kotak dialog gaya Penjelajah default. Jika bendera OFN_EXPLORER tidak diatur, sistem menggunakan templat untuk membuat kotak dialog gaya lama yang menggantikan kotak dialog default.
OFN_ENABLETEMPLATEHANDLE
0x00000080
Anggota hInstance mengidentifikasi blok data yang berisi templat kotak dialog yang dimuat sebelumnya. Sistem mengabaikan lpTemplateName jika bendera ini ditentukan. Jika bendera OFN_EXPLORER diatur, sistem menggunakan templat yang ditentukan untuk membuat kotak dialog yang merupakan anak dari kotak dialog gaya Penjelajah default. Jika bendera OFN_EXPLORER tidak diatur, sistem menggunakan templat untuk membuat kotak dialog gaya lama yang menggantikan kotak dialog default.
OFN_EXPLORER
0x00080000
Menunjukkan bahwa kustomisasi apa pun yang dibuat ke kotak dialog Buka atau Simpan Sebagai menggunakan metode kustomisasi gaya Explorer. Untuk informasi selengkapnya, lihat Prosedur Hook Gaya Penjelajah dan Templat Kustom Gaya Penjelajah.

Secara default, kotak dialog Buka dan Simpan Sebagai menggunakan antarmuka pengguna gaya Explorer terlepas dari apakah bendera ini diatur. Bendera ini diperlukan hanya jika Anda menyediakan prosedur hook atau templat kustom, atau mengatur bendera OFN_ALLOWMULTISELECT .

Jika Anda menginginkan antarmuka pengguna gaya lama, hilangkan bendera OFN_EXPLORER dan berikan templat gaya lama pengganti atau prosedur kait. Jika Anda menginginkan gaya lama tetapi tidak memerlukan templat kustom atau prosedur kait, cukup berikan prosedur kait yang selalu mengembalikan FALSE.

OFN_EXTENSIONDIFFERENT
0x00000400
Pengguna mengetikkan ekstensi nama file yang berbeda dari ekstensi yang ditentukan oleh lpstrDefExt. Fungsi ini tidak menggunakan bendera ini jika lpstrDefExt adalah NULL.
OFN_FILEMUSTEXIST
0x00001000
Pengguna hanya dapat mengetik nama file yang ada di bidang entri Nama File . Jika bendera ini ditentukan dan pengguna memasukkan nama yang tidak valid, prosedur kotak dialog menampilkan peringatan dalam kotak pesan. Jika bendera ini ditentukan, bendera OFN_PATHMUSTEXIST juga digunakan. Bendera ini dapat digunakan dalam kotak dialog Buka . Ini tidak dapat digunakan dengan kotak dialog Simpan Sebagai .
OFN_FORCESHOWHIDDEN
0x10000000
Memaksa peragaan sistem dan file tersembunyi, sehingga mengesampingkan pengaturan pengguna untuk menampilkan atau tidak menampilkan file tersembunyi. Namun, file yang ditandai baik sistem maupun tersembunyi tidak ditampilkan.
OFN_HIDEREADONLY
0x00000004
Menyembunyikan kotak centang Baca Saja .
OFN_LONGNAMES
0x00200000
Untuk kotak dialog gaya lama, bendera ini menyebabkan kotak dialog menggunakan nama file panjang. Jika bendera ini tidak ditentukan, atau jika bendera OFN_ALLOWMULTISELECT juga diatur, kotak dialog gaya lama menggunakan nama file pendek (format 8,3) untuk nama file dengan spasi. Kotak dialog gaya penjelajah mengabaikan bendera ini dan selalu menampilkan nama file panjang.
OFN_NOCHANGEDIR
0x00000008
Memulihkan direktori saat ini ke nilai aslinya jika pengguna mengubah direktori saat mencari file.

Bendera ini tidak efektif untuk GetOpenFileName.

OFN_NODEREFERENCELINKS
0x00100000
Mengarahkan kotak dialog untuk mengembalikan jalur dan nama file pintasan yang dipilih (. LNK) file. Jika nilai ini tidak ditentukan, kotak dialog mengembalikan jalur dan nama file file yang dirujuk oleh pintasan.
OFN_NOLONGNAMES
0x00040000
Untuk kotak dialog gaya lama, bendera ini menyebabkan kotak dialog menggunakan nama file pendek (format 8.3). Kotak dialog gaya penjelajah mengabaikan bendera ini dan selalu menampilkan nama file panjang.
OFN_NONETWORKBUTTON
0x00020000
Menyembunyikan dan menonaktifkan tombol Jaringan .
OFN_NOREADONLYRETURN
0x00008000
File yang dikembalikan tidak memiliki kotak centang Baca Saja yang dipilih dan tidak berada dalam direktori yang dilindungi penulisan.
OFN_NOTESTFILECREATE
0x00010000
File tidak dibuat sebelum kotak dialog ditutup. Bendera ini harus ditentukan jika aplikasi menyimpan file pada berbagi jaringan buat-nonmodifikasi. Ketika aplikasi menentukan bendera ini, pustaka tidak memeriksa perlindungan tulis, disk penuh, pintu drive terbuka, atau perlindungan jaringan. Aplikasi yang menggunakan bendera ini harus melakukan operasi file dengan hati-hati, karena file tidak dapat dibuka kembali setelah ditutup.
OFN_NOVALIDATE
0x00000100
Kotak dialog umum memperbolehkan karakter yang tidak valid dalam nama file yang dikembalikan. Biasanya, aplikasi panggilan menggunakan prosedur hook yang memeriksa nama file dengan menggunakan pesan FILEOKSTRING . Jika kotak teks dalam kontrol edit kosong atau tidak berisi spasi apa pun, daftar file dan direktori diperbarui. Jika kotak teks dalam kontrol edit berisi hal lain, nFileOffset dan nFileExtension diatur ke nilai yang dihasilkan dengan mengurai teks. Tidak ada ekstensi default yang ditambahkan ke teks, atau teks yang disalin ke buffer yang ditentukan oleh lpstrFileTitle. Jika nilai yang ditentukan oleh nFileOffset kurang dari nol, nama file tidak valid. Jika tidak, nama file valid, dan nFileExtension dan nFileOffset dapat digunakan seolah-olah bendera OFN_NOVALIDATE belum ditentukan.
OFN_OVERWRITEPROMPT
0x00000002
Menyebabkan kotak dialog Simpan Sebagai menghasilkan kotak pesan jika file yang dipilih sudah ada. Pengguna harus mengonfirmasi apakah akan menimpa file.
OFN_PATHMUSTEXIST
0x00000800
Pengguna hanya dapat mengetik jalur dan nama file yang valid. Jika bendera ini digunakan dan pengguna mengetikkan jalur dan nama file yang tidak valid di bidang entri Nama File , fungsi kotak dialog menampilkan peringatan dalam kotak pesan.
OFN_READONLY
0x00000001
Menyebabkan kotak centang Baca Saja dipilih pada awalnya saat kotak dialog dibuat. Bendera ini menunjukkan status kotak centang Baca Saja saat kotak dialog ditutup.
OFN_SHAREAWARE
0x00004000
Menentukan bahwa jika panggilan ke fungsi OpenFile gagal karena pelanggaran berbagi jaringan, kesalahan diabaikan dan kotak dialog mengembalikan nama file yang dipilih. Jika bendera ini tidak diatur, kotak dialog memberi tahu prosedur hook Anda ketika pelanggaran berbagi jaringan terjadi untuk nama file yang ditentukan oleh pengguna. Jika Anda mengatur bendera OFN_EXPLORER , kotak dialog mengirimkan pesan CDN_SHAREVIOLATION ke prosedur hook. Jika Anda tidak mengatur OFN_EXPLORER, kotak dialog mengirimkan pesan terdaftar SHAREVISTRING ke prosedur kait.
OFN_SHOWHELP
0x00000010
Menyebabkan kotak dialog menampilkan tombol Bantuan . Anggota hwndOwner harus menentukan jendela untuk menerima pesan terdaftar HELPMSGSTRING yang dikirim kotak dialog saat pengguna mengklik tombol Bantuan . Kotak dialog Gaya penjelajah mengirimkan pesan pemberitahuan CDN_HELP ke prosedur hook Anda saat pengguna mengklik tombol Bantuan .

nFileOffset

Ketik: WORD

Offset berbasis nol, dalam karakter, dari awal jalur ke nama file dalam string yang ditujukkan oleh lpstrFile. Untuk versi ANSI, ini adalah jumlah byte; untuk versi Unicode, ini adalah jumlah karakter. Misalnya, jika lpstrFile menunjuk ke string berikut, "c:\dir1\dir2\file.ext", anggota ini berisi nilai 13 untuk menunjukkan offset string "file.ext". Jika pengguna memilih lebih dari satu file, nFileOffset adalah offset ke nama file pertama.

nFileExtension

Ketik: WORD

Offset berbasis nol, dalam karakter, dari awal jalur ke ekstensi nama file dalam string yang ditujukkan oleh lpstrFile. Untuk versi ANSI, ini adalah jumlah byte; untuk versi Unicode, ini adalah jumlah karakter. Biasanya ekstensi nama file adalah substring yang mengikuti kemunculan terakhir karakter titik ("."). Misalnya, txt adalah ekstensi nama file readme.txt, html ekstensi readme.txt.html. Oleh karena itu, jika lpstrFile menunjuk ke string "c:\dir1\dir2\readme.txt", anggota ini berisi nilai 20. Jika lpstrFile menunjuk ke string "c:\dir1\dir2\readme.txt.html", anggota ini berisi nilai 24. Jika lpstrFile menunjuk ke string "c:\dir1\dir2\readme.txt.html.", anggota ini berisi nilai 29. Jika lpstrFile menunjuk ke string yang tidak berisi karakter "." seperti "c:\dir1\dir2\readme", anggota ini berisi nol.

lpstrDefExt

Jenis: LPCTSTR

Ekstensi default. GetOpenFileName dan GetSaveFileName menambahkan ekstensi ini ke nama file jika pengguna gagal mengetik ekstensi. String ini dapat memiliki panjang apa pun, tetapi hanya tiga karakter pertama yang ditambahkan. String tidak boleh berisi titik (.). Jika anggota ini NULL dan pengguna gagal mengetik ekstensi, tidak ada ekstensi yang ditambahkan.

lCustData

Jenis: LPARAM

Data yang ditentukan aplikasi yang diteruskan sistem ke prosedur kait yang diidentifikasi oleh anggota lpfnHook . Ketika sistem mengirim pesan WM_INITDIALOG ke prosedur kait, parameter lParam pesan adalah penunjuk ke struktur OPENFILENAME yang ditentukan saat kotak dialog dibuat. Prosedur kait dapat menggunakan pointer ini untuk mendapatkan nilai lCustData .

lpfnHook

Jenis: LPOFNHOOKPROC

Penunjuk ke prosedur kait. Anggota ini diabaikan kecuali anggota Bendera menyertakan bendera OFN_ENABLEHOOK .

Jika bendera OFN_EXPLORER tidak diatur di anggota Bendera , lpfnHook adalah penunjuk ke prosedur kait OFNHookProcOldStyle yang menerima pesan yang ditujukan untuk kotak dialog. Prosedur hook mengembalikan FALSE untuk meneruskan pesan ke prosedur kotak dialog default atau TRUE untuk membuang pesan.

Jika OFN_EXPLORER diatur, lpfnHook adalah penunjuk ke prosedur kait OFNHookProc . Prosedur hook menerima pesan pemberitahuan yang dikirim dari kotak dialog. Prosedur hook juga menerima pesan untuk kontrol tambahan apa pun yang Anda tentukan dengan menentukan templat dialog anak. Prosedur kait tidak menerima pesan yang ditujukan untuk kontrol standar kotak dialog default.

lpTemplateName

Jenis: LPCTSTR

Nama sumber daya templat dialog dalam modul yang diidentifikasi oleh anggota hInstance . Untuk sumber daya kotak dialog bernomor, ini bisa menjadi nilai yang dikembalikan oleh makro MAKEINTRESOURCE . Anggota ini diabaikan kecuali bendera OFN_ENABLETEMPLATE diatur dalam anggota Bendera . Jika bendera OFN_EXPLORER diatur, sistem menggunakan templat yang ditentukan untuk membuat kotak dialog yang merupakan anak dari kotak dialog gaya Penjelajah default. Jika bendera OFN_EXPLORER tidak diatur, sistem menggunakan templat untuk membuat kotak dialog gaya lama yang menggantikan kotak dialog default.

lpEditInfo

Anggota ini dikompilasi secara kondisional (menggunakan #ifdef _MAC) sehingga hanya berlaku untuk komputer Motorola 68K Macintosh, dan bukan untuk sistem operasi klien Windows.

lpstrPrompt

Anggota ini dikompilasi secara kondisional (menggunakan #ifdef _MAC) sehingga hanya berlaku untuk komputer Motorola 68K Macintosh, dan bukan untuk sistem operasi klien Windows.

pvReserved

Jenis: batal*

Anggota ini dicadangkan.

dwReserved

Jenis: DWORD

Anggota ini dicadangkan.

FlagsEx

Jenis: DWORD

Sekumpulan bendera bit yang bisa Anda gunakan untuk menginisialisasi kotak dialog. Saat ini, anggota ini bisa nol atau bendera berikut.

Nilai Makna
OFN_EX_NOPLACESBAR
0x00000001
Jika bendera ini diatur, bilah tempat tidak ditampilkan. Jika bendera ini tidak diatur, kotak dialog Gaya penjelajah menyertakan bilah tempat yang berisi ikon untuk folder yang umum digunakan, seperti Favorit dan Desktop.

Keterangan

Untuk alasan kompatibilitas, Bilah Places disembunyikan jika Bendera diatur ke OFN_ENABLEHOOK dan lStructSizeOPENFILENAME_SIZE_VERSION_400.

Catatan

Header commdlg.h mendefinisikan OPENFILENAME sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header commdlg.h (sertakan Windows.h)

Lihat juga

Pustaka Kotak Dialog Umum

Konseptual

GetOpenFileName

GetSaveFileName

Sumber Daya Lain

Referensi

SHGetSpecialFolderLocation