Share via


Klassensymbole

Das Symbol, das zum Darstellen eines Klassenobjekts verwendet wird, kann im iconPath-Attribut im Container DisplaySpecifiers angegeben werden. Darüber hinaus kann jede Klasse mehrere Symbolzustände speichern. Beispielsweise kann eine Ordnerklasse Symbole für den geöffneten, geschlossenen und deaktivierten Zustand aufweisen. Die aktuelle Implementierung akzeptiert maximal sechzehn verschiedene Symbolzustände pro Klasse.

Das iconPath-Attribut kann auf zwei Arten angegeben werden.

<state>,<icon file name>

oder

<state>,<module file name>,<resource ID>

In diesen Beispielen ist der "<Zustand>" eine ganze Zahl mit einem Wert zwischen 0 und 15. Der Wert 0 ist als Standard- oder Geschlossenzustand des Symbols definiert. Der Wert 1 ist als geöffneter Zustand des Symbols definiert. Der Wert 2 ist der deaktivierte Zustand. Alle anderen Werte sind anwendungsdefiniert.

Der "<Name> der Symboldatei" ist der Pfad und Dateiname einer Symboldatei, die das Symbolbild enthält.

Der "<Moduldateiname>" ist der Pfad und Dateiname eines Moduls, z. B. einer EXE oder DLL, das das Symbolbild in einer Ressource enthält. Die "<Ressourcen-ID>" ist eine ganze Zahl, die den Ressourcenbezeichner der Symbolressource innerhalb des Moduls angibt.

Hinzufügen eines Werts zum iconPath-Attribut

Führen Sie die folgenden Schritte aus, um dem iconPath-Attribut einen Wert hinzuzufügen.

  1. Ermitteln Sie, ob der Wert für das Attribut vorhanden ist. Wenn ein Wert ersetzt werden soll, löschen Sie zunächst den vorhandenen Wert mithilfe der IADs::P utEx-Methode , wobei der lnControlCode-Parameter auf ADS_PROPERTY_DELETE und der vProp-Parameter auf den zu entfernenden Wert festgelegt ist. Verwenden Sie nicht ADS_PROPERTY_CLEAR oder ADS_PROPERTY_UPDATE für lnControlCode.
  2. Erstellen Sie die Zeichenfolge, die die Attributsymboldaten darstellt. Ein Beispiel finden Sie im obigen Format.
  3. Um den neuen Wert hinzuzufügen, verwenden Sie die IADs::P utEx-Methode , wobei der lnControlCode-Parameter auf ADS_PROPERTY_APPEND festgelegt ist.
  4. Um Änderungen am Verzeichnis zu committen, rufen Sie IADs::SetInfo auf.