Difficoltà:  
3 / 5
Il controllo FBI Properties Browser consente l'elencazione
di tutte le proprietà contenute in un insieme Properties.
È studiato per l'analisi in fase di runtime
di quelle strutture complesse, ricche di proprietà, dove l'unica
soluzione ragionevole era utilizzare cicli di enumerazione oppure sfruttare
le Espressioni di Controllo
dell'IDE di Visual Basic.
Si
presenta come un controllo relativamente ingombrante, anche se la sua
dimensione è adattabile. La dimensione minima concessa è
1935 twips di larghezza e 1860 twips di altezza.
Si compone fondamentalmente di due parti: quella superiore contiene l'elenco
di tutte le proprietà contenute nell'insieme, mentre la sezione
inferiore riporta il nome ed il valore della proprietà selezionata
nella sezione superiore.
La sezione superiore utilizza un controllo ListView contenuto
nei Microsoft Windows Common Controls 5.0, che pertanto devono
essere presenti nel progetto. È stata preferita questa versione
dei controlli per la loro leggerezza e poiché sono comunemente
già installati nella maggior parte dei sistemi, a differenza della
loro rispettiva versione 6.0.
Proprietà 
Utilizzabile in fase di progettazione |
Accessibile in lettura in fase di esecuzione |
Accessibile in scrittura in fase di esecuzione |
- AutoSizeColumns As Boolean
  
Determina il ridimensionamento automatico delle colonne in modo che
venga visualizzato l'intero contenuto.
- FullRowSelect As Boolean
  
Restituisce o imposta un valore che determina se l'utente potrà
scegliere qualsiasi colonna per evidenziare la riga.
Vedi Note (1).
- GridLines As Boolean
  
Restituisce o imposta un valore che determina la presenza di una griglia.
Vedi Note (1).
- PropertiesContainer As Object
 
Restituisce o imposta un insieme Properties.
L'insieme verrà utilizzato per elencare tutte le proprietà
contenute. Può essere a bse 0 oppure a base 1. Vedi Note
(2).
Al termine dell'assegnazione viene automaticamente eseguito il metodo
Resync.
- TrackSelect As Boolean
  
Restituisce o imposta un valore che determina se la selezione seguirà
la posizione corrente del mouse.
Vedi Note (1).
Metodi 
- AboutBox
Tipo di metodo: |
Sub |
Parametri richiesti: |
(nessuno) |
Definizione: |
Sub AboutBox() |
Visualizza le informazioni sul controllo.
- ResizeColumns
Tipo di metodo: |
Sub |
Parametri richiesti: |
(nessuno) |
Definizione: |
Sub ResizeColumns() |
Adatta la larghezza delle colonne.
- Resync
Tipo di metodo: |
Sub |
Parametri richiesti: |
(nessuno) |
Definizione: |
Sub Resync() |
Aggiorna i dati presenti nella griglia.
Eventi 
Nessuno
Note
La versione 5.0 della ListView dei Microsoft Wndows
Common Control non possiede tre proprietà
contenute nella versione 6.0 degli stessi. A tal scopo sono state implementate
nel controllo FBI Properties Browser le tre proprietà: FullRowSelect,
GridLines e TrackSelect. La loro azione è forzata
utilizzando la funzione API SendMessage
e richiedendo lo stile esteso della ListView.
La proprietà PropertiesContainer è
stata definita di tipo Object, anche se avremmo potuto utilizzare la classe
Properties. La ragione di questa scelta è dettata dal fatto che
il controllo può essere utilizzato anche con altri insiemi con
interfaccia simile, quale
l'insieme Fields di un RecordSet.
Il controllo fondamentalmente utilizza qualsiasi insieme (a base 0 oppure
1) in cui ogni membro contiene
al suo interno le proprietà Name e Value.
Nell'esempio
allegato e mostrato a fianco l'associazione è fatta sia con l'insieme
Properties sia con l'insieme Fields di un RecordSet ADO.
La scelta è effettuata mediante i pulsanti di opzione in alto.
La scelta dell'insieme Fields mostrerebbe il contenuto dei campi
del record corrente. Ad ogni cambiamento del record corrente è
però necessario richiamare il metodo Resync.
|