enumerasi _SHGDNF (shobjidl_core.h)
Menentukan nilai yang digunakan dengan metode IShellFolder::GetDisplayNameOf dan IShellFolder::SetNameOf untuk menentukan jenis nama file atau folder yang digunakan oleh metode tersebut.
Sintaks
typedef enum _SHGDNF {
SHGDN_NORMAL = 0,
SHGDN_INFOLDER = 0x1,
SHGDN_FOREDITING = 0x1000,
SHGDN_FORADDRESSBAR = 0x4000,
SHGDN_FORPARSING = 0x8000
} ;
Konstanta
SHGDN_NORMAL Nilai: 0 Ketika tidak dikombinasikan dengan bendera lain, kembalikan nama induk-relatif yang mengidentifikasi item, cocok untuk ditampilkan kepada pengguna. Nama ini sering tidak menyertakan informasi tambahan seperti ekstensi nama file dan tidak perlu unik. Nama ini mungkin menyertakan informasi yang mengidentifikasi folder yang berisi item. Misalnya, bendera ini dapat menyebabkan IShellFolder::GetDisplayNameOf mengembalikan string "nama pengguna (di Komputer)" untuk folder pengguna tertentu. |
SHGDN_INFOLDER Nilai: 0x1 Nama ini relatif terhadap folder tempat permintaan dibuat. Ini adalah nama yang ditampilkan kepada pengguna saat digunakan dalam konteks folder. Misalnya, ini digunakan dalam tampilan dan di segmen jalur bilah alamat untuk folder. Nama ini tidak boleh menyertakan informasi disambiguasi—misalnya "nama pengguna" alih-alih "nama pengguna (di Komputer)" untuk folder pengguna tertentu. Gunakan bendera ini dalam kombinasi dengan SHGDN_FORPARSING dan SHGDN_FOREDITING. |
SHGDN_FOREDITING Nilai: 0x1000 Nama digunakan untuk pengeditan di tempat saat pengguna mengganti nama item. |
SHGDN_FORADDRESSBAR Nilai: 0x4000 Nama ditampilkan dalam kotak kombo bilah alamat. |
SHGDN_FORPARSING Nilai: 0x8000 Nama ini digunakan untuk penguraian. Artinya, dapat diteruskan ke IShellFolder::P arseDisplayName untuk memulihkan PIDL objek. Formulir yang diambil nama ini tergantung pada objek tertentu. Ketika SHGDN_FORPARSING digunakan sendiri, namanya relatif terhadap desktop. Ketika dikombinasikan dengan SHGDN_INFOLDER, namanya relatif terhadap folder tempat permintaan dibuat. |
Keterangan
Jenis SHGDNF didefinisikan dalam Shobjidl.h seperti yang ditunjukkan di sini.
typedef DWORD SHGDNF;
Enumerasi ini terdiri dari dua grup nilai. Grup pertama—SHGDN_NORMAL dan SHGDN_INFOLDER—menentukan jenis nama. Grup kedua—SHGDN_FOREDITING, SHGDN_FORADDRESSBAR, dan SHGDN_FORPARSING—terdiri dari pengubah ke grup pertama yang menentukan opsi pengambilan nama.
Jika SHGDN_FORPARSING diatur dan SHGDN_INFOLDER tidak diatur, IShellFolder::GetDisplayNameOf dapat menerima PIDL yang berisi lebih dari struktur SHITEMID . Jika tidak, hanya PIDL tingkat tunggal yang dapat diteruskan.
Catatan Meskipun nama penguraian yang dikembalikan oleh objek sistem file adalah jalur objek yang sepenuhnya memenuhi syarat, folder virtual mungkin menggunakan sesuatu yang sangat berbeda. Misalnya, beberapa folder virtual menggunakan GUID sebagai nama penguraian dan mengembalikan string formulir "::{GUID}". Untuk memeriksa apakah objek adalah bagian dari sistem file, panggil IShellFolder::GetAttributesOf dan lihat apakah bendera SFGAO_FILESYSTEM diatur. Pengembang yang mengimplementasikan IShellFolder::GetDisplayNameOf didorong untuk mengembalikan nama penguraian yang sedekat mungkin dengan nama tampilan, karena pengguna akhir sering kali perlu mengetik atau mengedit nama-nama ini.
Nilai numerik SHGDN_NORMAL adalah nol, sehingga Anda tidak dapat menguji keberadaan bit ini. Pertimbangkan SHGDN_NORMAL pengaturan default yang digunakan jika tidak ada bendera lain dalam grup tersebut yang diatur.
Contoh
Tabel berikut mengilustrasikan contoh kemungkinan nilai pengembalian untuk lima opsi bendera yang berbeda dan tiga jenis item yang berbeda.
Ini adalah opsi bendera.
Telepon | Bendera | Deskripsi |
---|---|---|
1 | SHGDN_FORPARSING | Mengembalikan nama penguraian yang sepenuhnya memenuhi syarat. |
2 | SHGDN_INFOLDER | SHGDN_FORPARSING | Mengembalikan nama penguraian relatif terhadap folder induk. |
3 | SHGDN_INFOLDER | SHGDN_FOREDITING | Mengembalikan nama pengeditan relatif terhadap folder induk. |
4 | SHGDN_INFOLDER | Mengembalikan nama tampilan relatif terhadap folder induk. |
5 | SHGDN_NORMAL | Mengembalikan nama tampilan relatif terhadap desktop dan bukan ke folder tertentu. |
Ini adalah jenis item sampel.
Huruf | Deskripsi |
---|---|
A | Drive C: di komputer lokal, yang label volumenya C_DRIVE. |
B | Printer bernama Laser pada komputer bernama Mailroom. |
C | File C:\Directory\File.txt (ketika ekstensi nama file disembunyikan). |
Tabel berikut ini menjelaskan nama tampilan seperti yang akan dikembalikan.
A | B | C | |
---|---|---|---|
1 | C:\ | \\Mailroom\Laser | C:\Directory\File.txt |
2 | C:\ | Laser | File.txt |
3 | C_DRIVE | Laser | File |
4 | C_DRIVE (C:) | Laser | File |
5 | C_DRIVE (C:) | Laser di Ruang Surat | File |
Keterangan pada contoh
- A3: Drive C: menyajikan nama volumenya untuk pengeditan, bukan seluruh string "C_DRIVE (C:)".
- B1-B5: Nama tampilan printer jarak jauh berubah tergantung pada apakah itu ditampilkan relatif terhadap induknya. Ketika ditampilkan relatif terhadap induknya, ia hanya membutuhkan nama printernya, tetapi ketika ditampilkan di luar induknya, ia menunjukkan nama printer dan nama komputernya.
- C3: File.txt hanya menyajikan nama dasarnya untuk pengeditan alih-alih nama lengkapnya.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP, Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | shobjidl_core.h (termasuk Shobjidl.h) |