Newsgroup: it.comp.lang.visual-basic
Titolo: ListView e TreeView senza ListImage

Qualcuno sa dirmi se č possibile utilizzare il controllo ListView oppure il
controllo TreeView senza affidarsi al controllo ListImage per l'utilizzo
delle immagini?
Esempio:
Aggiungo un oggetto ListItem ad un controllo ListView, ma l'icona
(smallicon) non la voglio prendere da un oggetto ListImage, bensě da una DLL
creata apposta e piena zeppa di risorse, tra cui le bitmap.
Spero che qualcuno mi sappia aiutare.
Grazie.

 creata apposta e piena zeppa di risorse, tra cui le bitmap.
Non sono sicuro, forse e' possibile con qualche "acrobazia" con le API, ma
la cosa piu' semplice e' assegnare comunque un ImageList al LV/TV, lasciarlo
vuoto in fase di design e caricare le immagini a runtime dalla DLL o da un
file di risorse con
Dim picNew As Picture
'ricava la picture in qualche modo, ad esempio da un file di risorse con
Set picNew = LoadResPicture(ID_BITMAP1, vbResBitmap)
'aggiungilo alla collection delle immagini
ImageList1.ListImages.Add , "Chiave1", picNew
e quindi, una volta popolato l'ImageList, carica gli oggetti in lista o nel
tree nel solito modo...
Ciao
--
Luca Dormio
luca....@tin.it

"Luca Dormio" <lucaFAV...@tinFAVA.it> ha scritto
luca, perdono perdono perdono per averti dimenticato.
bisogna proprio che faccia la lavagna dei buoni :)
per i cattivi soprassediamo, seno' hal poi in quel del tigullio si trova
delle miniere che mai alle spalle...

 bisogna proprio che faccia la lavagna dei buoni :)
Ehmm... grazie, ma mi e' sfuggito qualcosa?!?! :-)


 >
[...]

 > (smallicon) non la voglio prendere da un oggetto ListImage, bensì da una



Credo che cio' si possa fare solo se l'ImageList non e' collegata alla ListView.
Sto' cercando anch'io un sistema per inserire delle icone 'al volo' ad un
controllo ImageList gia' collegato ad una ListView/TreeView, ma non ne cavo un
ragno dal buco 8-(
Bye by Massimo 8-]

soluzione via API.
Collegando questo post con quello iniziale, sembra quasi che la listimage
debba contenere _tutte_ le immagini della dll: 500.
Per visualizzare 500 bottoni sulla toolbar ?
Dev' essere il caldo, ma qualcosa mi sfugge :(
ciao, hal


gia', e senza barriere naturali contro le nebbie padane :-P

 ragno dal buco 8-(
Prova, vedrai che il codice qui sopra funziona anche se l'ImageList e'
collegata a design con il ListView, quello che non funziona e':
ImageList1.ListImages.Remove x
ma puoi interrompere momentaneamente il collegamento, ad esempio con
Set ListView1.SmallIcon = Nothing
ImageList1.ListImages.Remove x
Set ListView1.SmallIcon = ImageList1
ci sono alcune limitazioni (per lo meno quelle che ho notato):
- al momento del secondo 'Set' l'ImageList deve contenere almeno una
immagine, pena un runtime error.
- Tutti gli oggetti ListItem aggiunti *prima* di 'Set = Nothing' perdono
l'immagine, che va reimpostata eventualmente con
ListView1.ListItem(i).SmallIcon = x


 
luca....@tin.it
Ok, ma se setto a nothing il collegamento ListView-ImageList, mi spariscono le
icone...Io avevo letto da qualche parte di un'API che inietta le icone in una
ImageList senza bisogno di scollegarla dalla ListView.
Bye by Massimo 8-]

 ImageList senza bisogno di scollegarla dalla ListView.
Scusa, ma mi sa che continuiamo a non capirci.... sicuramente esiste una
funzione API apposta ma a quanto pare tu devi solo *aggiungere* immagini al
volo; in questo caso, ripeto, non hai bisogno ne' di API, ne' di scollegare
l'ImageList: fai semplicemente 'ImageList1.ListImages.Add' come nel mio
esempio iniziale e funziona (con VB6 perlomeno); lo "scollegamento" di cui
parlavo prima invece serve solo per *rimuovere* immagini.


Non ci siamo.
La mia esigenza non č quella di iniettare le bitmap al volo run-time.
Tragedia.
Io devo proprio evitare sta storia.
Quello che mi serve č:
Dire al ListView che le immagini se le deve succhiare da una DLL esterna con
500 o, se possibile 50.000 bitmap (per esigenze toolbar, o altro... chi se
ne frega, cl caldo e senza).
Ora č chiaro?
Grazie.
Luca Dormio <lucaFAV...@tinFAVA.it> wrote in message
9hpvlb$5jf$1...@fe2.cs.interbusiness.it...
