Guide e Tutorials:indexed | ||||
Il controllo ImageCombo (Tutorial completo) Uno dei controlli introdotti da Visual Basic 6.0 è ImageCombo. Dal punto di vista del semplice scopo del controllo, ImageCombo è molto simile al ComboBox standard. Ciò di cui però si può vantare questo nuovo controllo è la possibilità di inserire un'immagine a fianco di ogni voce della lista. Una seconda caratteristica che differenzia ImageCombo da ComboBox è il fatto che mentre questo supporta diversi stili, il controllo ImageCombo prevede solamente il classico stile drop-down. Chi utilizza Visual Basic versione 6, potrà quindi inserire nel proprio progetto un controllo ImageCombo selezionando dal menu principale la voce Progetto. Scegliere poi la voce Controlli e quindi contrassegnare col segno di spunta la casella relativa alla voce Microsoft Windows Common Controls 6.0. La proprietà che contraddistingue il controllo è la proprietà Image che individua l'immagine da visualizzare sulla sinistra della voce, proprio di fianco al testo. Naturalmente, come nei controlli TreeView anche ImageCombo deve essere necessariamente associato ad una ImageList ossia ad una lista di immagini personalizzabile. Anche questo controllo è comunque richiamabile attraverso la procedura descritta in precedenza. La seconda proprietà di particolare rilievo è SelImage che individua l'immagine da visualizzare nel caso in cui l'utente selezioni una particolare voce della lista drop-down. Per vedere nel dettaglio queste due proprietà, che definiscono la differenza tra ComboBox ed ImageCombo, è necessario analizzare un piccolo esempio. Per far questo sarà necessario aprire un nuovo progetto EXE Standard. In seguito, seguendo la procedura sopra descritta bisognerà avere a disposizione i controlli individuati dalla voce Microsoft Windows Common Controls 6.0. Sul piano dovremo allora trascinare il controllo ImageCombo ed il controllo ImageList. Per identificare visivamente le icone dei due controlli, seguire le indicazioni dell'immagine sottostante: Inseriamo adesso due immagini nel controllo ImageList, selezionando la linguetta della finestra Proprietà di ImageList. Scegliamo ad esempio l'immagine di una faccina sorridente (senza ragione) e quella di una freccia. Entrambe le immagini possono essere agevolmente ritovate nella cartella "...\Microsoft Visual Studio\Common\Graphics\Icons" del proprio hard disk. In ogni caso è sempre possibile selezionare le icone che si preferisce, anche da percorsi differenti da quello qui indicato. Ecco come dovrebbe apparire la finestra Proprietà di ImageList: Adesso che tutte le proprietà di ImageList che ci interessano sono settate nel modo corretto, preoccupiamoci di associare tale controllo a ImageCombo. In pratica non dovremo far altro che indicare che tutte le icone di ImageCombo provengono dalla lista di immagini che è ImageList. A questo scopo apriamo la finestra Proprietà di ImageCombo seguendo un procedimento del tutto analogo a quello già indicato per ImageList: click col tasto destro del mouse sul controllo posto sul piano. Appena aperta la finestra Proprietà selezioniamo la voce "ImageList". Dal combo box a fianco selezioniamo il controllo da associare. Se tutto va bene, dovrebbe apparire nel menu a discesa la voce "ImageList1". Selezioniamola e diamo l'OK. Un metodo più semplice da dirsi che da farsi per ottenere il medesimo risultato è quello di inserire all'interno del codice (o ancora meglio, nell'evento Load di Form1) la seguente linea di codice:
Adesso tutto è pronto. Concentriamoci sul codice. Aggiungiamo ad esempio una serie di nomi di persone, ai quali associamo una faccina insesorabilmente sorridente. Introduciamo però anche la proprietà opzionale SelImage per indicare che una volta selezionato col mouse un nome della lista, la faccina si dovrà tramutare in freccia:
Dove il nome tra virgolette indica il testo che viene visualizzato nella lista, il primo numero (che in questo esempio è 1) è l'indice che individua la prima icona nella lista di immagini ImageList mentre il secondo numero (2) è l'indice dell'icona che deve apparire quando si seleziona la voce, corrispondente in questo esempio alla seconda immagine della lista ImageList. Dando l'avvio al programma e scorrendo le voci della lista col mouse si potrà notare che le faccine dei nomi selezionati si trasformano in frecce: Dunque lo scopo è raggiunto. Non analizzeremo oltre le proprietà di ImageCombo in quanto rispecchiano quelle già note di ComboBox. Diremo soltanto che è possibile in più specificare il livello di indentazione per ogni voce, dove indentazione è l'allineamento di una voce rispetto al bordo sinistro della lista. Ogni livello di indentazione corrisponde dunque ad uno spostamento a destra del testo e dell'icona corrispondente di 10 pixel. Per fare ciòò si assegna un valore intero alla proprietà Indentation per ciascuna delle voci presenti nella lista. Ad esempio, riprendendo il codice appena visto:
verrà visualizzato un risultato di questo tipo: |
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |