Bagikan melalui


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.

Catatan Sebelum Windows 7, nilai-nilai ini dimas sebagai enumerasi SHGNO.
 

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.
Untuk diskusi lebih lanjut tentang antarmuka IShellFolder , lihat Mendapatkan Informasi Tentang Konten Folder.

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)