Leggere in inglese

Condividi tramite


Icone classi

L'icona utilizzata per rappresentare un oggetto classe può essere specificata nell'attributo iconPath nel contenitore DisplaySpecifiers. Inoltre, ogni classe può archiviare più stati icona. Ad esempio, una classe di cartelle può avere icone per gli stati aperti, chiusi e disabilitati. L'implementazione corrente accetta un massimo di sedici stati di icona diversi per classe.

L'attributo iconPath può essere specificato in due modi.

<state>,<icon file name>

oppure

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

In questi esempi, lo "<stato>" è un numero intero con un valore compreso tra 0 e 15. Il valore 0 è definito come lo stato predefinito o chiuso dell'icona. Il valore 1 è definito come lo stato aperto dell'icona. Il valore 2 è lo stato disabilitato. Tutti gli altri valori sono definiti dall'applicazione.

Il "<nome> file icona" è il percorso e il nome file di un file icona che contiene l'immagine dell'icona.

Il "<nome> file del modulo" è il percorso e il nome file di un modulo, ad esempio un file EXE o DLL, che contiene l'immagine icona in una risorsa. L'ID<> risorsa è un numero intero che specifica l'identificatore di risorsa della risorsa icona all'interno del modulo.

Aggiunta di un valore all'attributo iconPath

Per aggiungere un valore all'attributo iconPath , seguire questa procedura.

  1. Determinare se il valore per l'attributo esiste. Se un valore deve essere sostituito, eliminare prima di tutto il valore esistente usando il metodo IADs::P utEx con il parametro lnControlCode impostato su ADS_PROPERTY_DELETE e il parametro vProp impostato sul valore da rimuovere. Non usare ADS_PROPERTY_CLEAR o ADS_PROPERTY_UPDATE per lnControlCode.
  2. Creare la stringa che rappresenta i dati dell'icona dell'attributo. Per un esempio, vedere il formato precedente.
  3. Per aggiungere il nuovo valore, usare il metodo IADs::P utEx con il parametro lnControlCode impostato su ADS_PROPERTY_APPEND.
  4. Per eseguire il commit delle modifiche nella directory, chiamare IADs::SetInfo.