_SHGDNF-Enumeration (shobjidl_core.h)
Definiert die Werte, die mit den Methoden IShellFolder::GetDisplayNameOf und IShellFolder::SetNameOf verwendet werden, um den Typ der von diesen Methoden verwendeten Datei- oder Ordnernamen anzugeben.
Syntax
typedef enum _SHGDNF {
SHGDN_NORMAL = 0,
SHGDN_INFOLDER = 0x1,
SHGDN_FOREDITING = 0x1000,
SHGDN_FORADDRESSBAR = 0x4000,
SHGDN_FORPARSING = 0x8000
} ;
Konstanten
SHGDN_NORMAL Wert: 0 Wenn sie nicht mit einem anderen Flag kombiniert ist, geben Sie den übergeordneten relativen Namen zurück, der das Element identifiziert, das für die Anzeige für den Benutzer geeignet ist. Dieser Name enthält häufig keine zusätzlichen Informationen wie die Dateinamenerweiterung und muss nicht eindeutig sein. Dieser Name kann Informationen enthalten, die den Ordner identifizieren, der das Element enthält. Für instance kann dieses Flag dazu führen, dass IShellFolder::GetDisplayNameOf die Zeichenfolge "username (on Machine)" für den Ordner eines bestimmten Benutzers zurückgibt. |
SHGDN_INFOLDER Wert: 0x1 Der Name ist relativ zum Ordner, aus dem die Anforderung erfolgt ist. Dies ist der Name, der dem Benutzer angezeigt wird, wenn er im Kontext des Ordners verwendet wird. Sie wird beispielsweise in der Ansicht und im Adressleistenpfadsegment für den Ordner verwendet. Dieser Name sollte keine Eindeutigkeitsinformationen enthalten– für instance "Benutzername" anstelle von "Benutzername (auf dem Computer)" für den Ordner eines bestimmten Benutzers. Verwenden Sie dieses Flag in Kombination mit SHGDN_FORPARSING und SHGDN_FOREDITING. |
SHGDN_FOREDITING Wert: 0x1000 Der Name wird für die direkte Bearbeitung verwendet, wenn der Benutzer das Element umbenannt. |
SHGDN_FORADDRESSBAR Wert: 0x4000 Der Name wird in einem Kombinationsfeld der Adressleiste angezeigt. |
SHGDN_FORPARSING Wert: 0x8000 Der Name wird für die Analyse verwendet. Das heißt, es kann an IShellFolder::P arseDisplayName übergeben werden, um die PIDL des Objekts wiederherzustellen. Welche Form dieser Name annimmt, hängt vom jeweiligen Objekt ab. Wenn SHGDN_FORPARSING allein verwendet wird, ist der Name relativ zum Desktop. In Kombination mit SHGDN_INFOLDER ist der Name relativ zum Ordner, aus dem die Anforderung erfolgt ist. |
Hinweise
Der SHGDNF-Typ wird in Shobjidl.h definiert, wie hier gezeigt.
typedef DWORD SHGDNF;
Diese Enumeration besteht aus zwei Wertegruppen. Die erste Gruppe – SHGDN_NORMAL und SHGDN_INFOLDER – gibt den Typ des Namens an. Die zweite Gruppe – SHGDN_FOREDITING, SHGDN_FORADDRESSBAR und SHGDN_FORPARSING – besteht aus Modifizierern für die erste Gruppe, die Optionen zum Abrufen von Namen angeben.
Wenn SHGDN_FORPARSING festgelegt und SHGDN_INFOLDER nicht festgelegt ist, kann IShellFolder::GetDisplayNameOf eine PIDL akzeptieren, die mehr als eine SHITEMID-Struktur enthält. Andernfalls kann nur eine PIDL-Ebene übergeben werden.
Hinweis Während der von Dateisystemobjekten zurückgegebene Analysename der vollqualifizierte Pfad des Objekts ist, verwenden virtuelle Ordner möglicherweise etwas ganz anderes. Beispielsweise verwenden einige virtuelle Ordner eine GUID als Analysenamen und geben eine Zeichenfolge des Formulars "::{GUID}" zurück. Um zu überprüfen, ob das Objekt Teil des Dateisystems ist, rufen Sie IShellFolder::GetAttributesOf auf, und überprüfen Sie, ob das SFGAO_FILESYSTEM-Flag festgelegt ist. Entwickler, die IShellFolder::GetDisplayNameOf implementieren, werden empfohlen, Analysenamen zurückzugeben, die den Anzeigenamen so nahe wie möglich sind, da der Endbenutzer diese Namen häufig eingeben oder bearbeiten muss.
Der numerische Wert von SHGDN_NORMAL ist 0, sodass Sie nicht auf das Vorhandensein dieses Bits testen können. Erwägen Sie SHGDN_NORMAL einer Standardeinstellung, die verwendet wird, wenn kein anderes Flag in dieser Gruppe festgelegt ist.
Beispiel
Die folgenden Tabellen veranschaulichen ein Beispiel für mögliche Rückgabewerte für fünf verschiedene Flagoptionen und drei verschiedene Elementtypen.
Dies sind die Flagoptionen.
Number | Flags | BESCHREIBUNG |
---|---|---|
1 | SHGDN_FORPARSING | Gibt den vollqualifizierten Analysenamen zurück. |
2 | SHGDN_INFOLDER | SHGDN_FORPARSING | Gibt den Analysenamen relativ zum übergeordneten Ordner zurück. |
3 | SHGDN_INFOLDER | SHGDN_FOREDITING | Gibt den Bearbeitungsnamen relativ zum übergeordneten Ordner zurück. |
4 | SHGDN_INFOLDER | Gibt den Anzeigenamen relativ zum übergeordneten Ordner zurück. |
5 | SHGDN_NORMAL | Gibt den Anzeigenamen relativ zum Desktop und nicht zu einem bestimmten Ordner zurück. |
Dies sind die Beispielelementtypen.
Letter | BESCHREIBUNG |
---|---|
Ein | Laufwerk C: auf dem lokalen Computer, dessen Volumebezeichnung C_DRIVE ist. |
B | Ein Drucker namens Laser auf einem Computer namens Mailroom. |
C | Die Datei C:\Directory\File.txt (wenn Dateinamenerweiterungen ausgeblendet werden). |
In der folgenden Tabelle werden die Anzeigenamen beschrieben, wie sie zurückgegeben würden.
A | B | C | |
---|---|---|---|
1 | C:\ | \\Mailroom\Laser | C:\Directory\File.txt |
2 | C:\ | Laser | File.txt |
3 | C_DRIVE | Laser | Datei |
4 | C_DRIVE (C:) | Laser | Datei |
5 | C_DRIVE (C:) | Laser on Mailroom | Datei |
Hinweise zu Beispielen
- A3: Das Laufwerk C: stellt seinen Volumenamen zur Bearbeitung anstelle der gesamten Zeichenfolge "C_DRIVE (C:)" dar.
- B1-B5: Der Anzeigename des Remotedruckers ändert sich abhängig davon, ob er relativ zum übergeordneten Drucker angezeigt wird. Wenn es relativ zu seinem übergeordneten Element angezeigt wird, benötigt es nur den Druckernamen, aber wenn er außerhalb des übergeordneten Objekts angezeigt wird, wird sowohl der Druckername als auch der Computername angezeigt.
- C3: File.txt stellt nur den Basisnamen anstelle des vollständigen Namens zur Bearbeitung bereit.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP, Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | shobjidl_core.h (shobjidl.h einschließen) |